In Java Hibernate, wenn wir etwas mit DB tun müssen, brauchen wir: 1. Öffnen Sitzung 2. Transaktion beginnen 3. Beenden Transaktion 4. Schließen SitzungSession und Transaktion in Hibernate Java
zum Beispiel, wenn ich will Schülerliste erhalten:
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; }
Legen Sie einen Studenten
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; }
Warum gibt es keine Transaktion in getStudentList()? Vielen Dank im Voraus