Hibernate不会将我的记录保存在数据库中,但会增加自动增量主键。
我有5个用户,每个用户在mysql表X中有10条记录。因此 总共应该有50条记录。但是那里只有40个 没有显示错误。用户3的记录不在数据库中。但 主键从1到50.意思是从1-20开始 从30岁到50岁。 21,22,23 ....等缺失的记录在哪里 用户3应该是
我的应用程序日志表示无异常调用hibernate save方法。任何想法为什么会发生这种情况?我没有启用mysql二进制日志。
答案 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();
}