hibernatejava中的会话和事务
在Java Hibernate中,当我们需要对DB执行某些操作时,我们需要: 1.公开会议 2.开始交易 3.完成交易 4.闭门会议hibernatejava中的会话和事务,java,hibernate,session,transactions,Java,Hibernate,Session,Transactions,在Java Hibernate中,当我们需要对DB执行某些操作时,我们需要: 1.公开会议 2.开始交易 3.完成交易 4.闭门会议 例如,如果我想获得学生名单: public static List<Student> getStudentList() { List<Student> l = null; Session session = HibernateUtil.getSessionFactory().openSession(); try {
- 例如,如果我想获得学生名单:
public static List<Student> getStudentList() { List<Student> l = null; Session session = HibernateUtil.getSessionFactory().openSession(); try { String hql = "from Student"; Query query = session.createQuery(hql); l = query.list(); } catch (HibernateException ex) { //Log the exception System.err.println(ex); } finally { session.close(); } return l; }
会话.get(Item.class,123l)
session.close()
Session session = sessionFactory.openSession();
Item item = session.get(Item.class, 123l);
item.setPrice(10);
session.close();
现在,它取决于JDBC驱动程序是否保存了项的新价格
因此,您可以忽略纯SELECT
操作上的开始和提交事务,即使您的JDBC驱动程序将回滚事务,只要您没有数据库更改
但无论如何,我强烈建议在任何操作中使用事务,以避免误解和问题
Session session = sessionFactory.openSession();
Item item = session.get(Item.class, 123l);
item.setPrice(10);
session.close();