Hibernate不保存数据?

时间:2017-03-16 10:50:27

标签: eclipse hibernate

我的会话正在运行但没有在数据库中保存数据。我应该丢失什么...?

enter image description here

1 个答案:

答案 0 :(得分:1)

您尚未打开任何交易,因此更改不会反映在数据库中。

使用SessionFactory.openSession()创建会话时,不会创建任何事务,因此您的操作将在事务上下文之外执行。为了查看您的更改,您必须开始新的交易,或者作为正在进行的交易的一部分执行您的操作。

示例:

Session sess = factory.openSession();
 Transaction tx;
 try {
     tx = sess.beginTransaction();
     //do some work
     ...
     tx.commit();
 }
 catch (Exception e) {
     if (tx!=null) tx.rollback();
     throw e;
 }
 finally {
     sess.close();
 }

使用Transaction保存对象或在当前方案中对配置文件进行以下更改:

 <property name="connection.autocommit">true</property>