Hibernate不会将我的记录保存在数据库中,但主键会增加

时间:2016-09-06 11:32:38

标签: java mysql database hibernate

Hibernate不会将我的记录保存在数据库中,但会增加自动增量主键。

  

我有5个用户,每个用户在mysql表X中有10条记录。因此   总共应该有50条记录。但是那里只有40个   没有显示错误。用户3的记录不在数据库中。但   主键从1到50.意思是从1-20开始   从30岁到50岁。    21,22,23 ....等缺失的记录在哪里   用户3应该是

我的应用程序日志表示无异常调用hibernate save方法。任何想法为什么会发生这种情况?我没有启用mysql二进制日志。

1 个答案:

答案 0 :(得分:1)

我最好的猜测是你没有正确处理交易 如果您使用的是Spring,请在保存方法中添加@Transactional注释。

如果是普通的java代码,那么就像这样管理交易

try {  
    session = sessionFactory.openSession();  
    tx = session.beginTransaction();  
    // save operation      
    tx.commit();  

} catch (Exception ex) {  
  ex.printStackTrace();  
  tx.rollback();  
} finally {
  session.close();
}