Java Hibernate在一个事务中保存的对象不会超过15个
它保存15个对象,然后进入无限循环,什么也不做。没有任何内容输出到控制台 代码如下:Java Hibernate在一个事务中保存的对象不会超过15个,java,mysql,hibernate,jpa,jdbc,Java,Mysql,Hibernate,Jpa,Jdbc,它保存15个对象,然后进入无限循环,什么也不做。没有任何内容输出到控制台 代码如下: Session session = sessionFactory.openSession(); Transaction transaction = null; try { transaction = session.beginTransaction(); for (Persistable persistable: persistables) { sessi
Session session = sessionFactory.openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
for (Persistable persistable: persistables) {
session.save(persistable);
}
transaction.commit();
}
catch (HibernateException e) {
if (transaction != null) transaction.rollback();
}
finally {
session.close();
}
我正在使用标准的JDBCMySQL连接器,创建标准属性和hbm2ddl集。我通过一次循环15个对象来解决这个问题,但我希望以后不要这样做 如果启用了自动刷新,请尝试刷新循环中的会话
for (Persistable persistable: persistables) {
session.save(persistable);
session.flush();
}
如果这样做有效,则可能无法使用事务,请检查jdbc版本。应该可以。你不应该把它限制在15。您是否设置了调试点并检查了为什么在超过15年的时间内,它的行为会像您认为的那样?是否启用了自动刷新?是否有可能您的一个持久化对象在其对象“树”中有一个循环?它每次“停止”在同一个对象上还是在不同的对象上?