、: 1.セッション 2.セッションおよびトランザクションのJava休止状態で
- 4.閉じるセッショントランザクション 3.完了のトランザクションを開始しますたとえば
私は学生のリストを取得したい場合:学生
を挿入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; }
を
public static boolean addStudent(Student s) { Session session = HibernateUtil.getSessionFactory().openSession(); if (... /* check if student is already exists*/) { return false; } Transaction transaction = null; try { transaction = session.beginTransaction(); session.save(s); transaction.commit(); } catch (HibernateException ex) { //Log the exception transaction.rollback(); System.err.println(ex); } finally { session.close(); } return true; }
なぜgetStudentList()にトランザクションがないのですか?事前にありがとう