我在春天写了 dao,就像我以前在 struts 中写的一样,有些人是这样想的
@Autowired
private SessionFactory sessionFactory;
Session session=null;
Transaction tx=null;
List<Login> users= null;
try{
session=sessionFactory.getCurrentSession();
tx=session.beginTransaction();
users=session.createQuery("from Login").list();
tx.commit();
}catch(Exception e){System.out.println("commit exception:"+e);
try {tx.rollback();} catch (Exception ex) {System.out.println("rollback exception:"+ex);}
}finally{if(session!=null && session.isOpen()){session.close();}}
但我收到此错误:
抛出异常[请求处理失败;嵌套异常是 org.springframework.transaction.TransactionSystemException:无法提交 Hibernate 事务;嵌套异常是 org.hibernate.TransactionException:事务未成功启动] 根本原因 org.hibernate.TransactionException:事务未成功启动
有人可以帮帮我吗?
如果我这样写,
try{
users=sessionFactory.getCurrentSession().createQuery("from Login").list();
}catch(Exception e){System.out.println("commit exception:"+e);
它工作正常,但它安全吗?
谢谢并恭祝安康