关于网友提出的“ Hibernate使用JTA事物”问题疑问,本网通过在网上对“ Hibernate使用JTA事物”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: Hibernate使用JTA事物描述:
1、Hibernate.cfg.xml
2、JAVA类
public void testID2() {
UserTransaction xact = null;
try {
Configuration cfg = new AnnotationConfiguration();
SessionFactory sf = cfg.configure().buildSessionFactory();
xact = this.getUserTransaction();
xact.setTransactionTimeout(10000);
xact.begin();
Session session1 = sf.openSession();
Teacher t2 = new Teacher();
t2.setName("T2");
t2.setTitle("2");
session1.save(t2);
System.out.println("teacher2的ID=" + t2.getId());
session1.flush();
session1.close();
xact.commit();
sf.close();
} catch (Exception e) {
e.printStackTrace();
if (xact != null) {
try {
xact.rollback();
} catch (Exception e1) {
e.printStackTrace();
}
}
}
}
当我不写session1.flush();
数据进不了数据库,不是说session1.close();就自动调用session1.flush();
的吗?
解决方案1:
是这两个:
hibernate.transaction.flush_before_completion
hibernate.transaction.auto_close_session