Java Tutorial/Hibernate/Transaction
Hibernate Session and Transaction
File: Main.java
<source lang="java">
import java.util.Date; import java.util.Iterator; import java.util.List; import org.hibernate.Session; import org.hibernate.Transaction; public class Main {
public static void main(String[] args) throws Exception { HibernateUtil hibernateUtil = new HibernateUtil(); hibernateUtil .executeSQLCommand("create table survey (id int,name varchar, purchasedate date);"); Session session = hibernateUtil.getSession(); Survey survey = new Survey(); survey.setName("Survey"); survey.setPurchaseDate(new Date()); System.out.println(survey.getId()); Transaction t = session.beginTransaction(); session.save(survey); t.rumit();
List cds = session.createQuery("from Survey").list(); Iterator iter = cds.iterator(); while (iter.hasNext()) { Survey cd = (Survey) iter.next(); System.out.println(cd.getName()); } session.close(); hibernateUtil.checkData("select * from survey"); }
}</source>
Rollback a Transaction
File: Main.java
<source lang="java">
import java.util.Date; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; public class Main {
public static void main(String[] args) throws Exception { HibernateUtil hibernateUtil = new HibernateUtil(); hibernateUtil .executeSQLCommand("create table survey (id int,name varchar, purchasedate date);"); Session session = hibernateUtil.getSession(); Survey survey = new Survey(); survey.setName("Survey"); survey.setPurchaseDate(new Date()); session.save(survey); survey = new Survey(); survey.setName("Survey1"); survey.setPurchaseDate(new Date()); session.save(survey); session.flush(); Transaction tx = session.beginTransaction(); tx.rumit(); tx = session.beginTransaction(); String hql = "delete from Survey where name = :name"; Query query = session.createQuery(hql); query.setString("name","Survey"); int rowCount = query.executeUpdate(); System.out.println("Rows affected: " + rowCount); tx.rollback(); session.close(); hibernateUtil.checkData("select * from survey"); }
}</source>