我目前有两个运行相同应用程序的服务器,今天早上他们试图同时保存一个对象'Rackstatus'的实例。
结果是:
10:23:37,781 WARN [org.hibernate.util.JDBCExceptionReporter] (XXXX)SQL错误:1062,SQLState:23000 10:23:37,783 ERROR [org.hibernate.util.JDBCExceptionReporter] (XXXX)密钥的重复条目“114464” 'PRIMARY'10:23:37,784错误 [org.hibernate.event.def.AbstractFlushingEventListener] (XXXX)无法与数据库状态同步 session:org.hibernate.exception.ConstraintViolationException:可以 不执行JDBC批量更新
我的保存代码:
public void Save(RackStatus stData) {
Session session = null;
session = super.getSession("BANK");
//Create new instance
Transaction trans = session.beginTransaction();
// execute save
session.save(stData);
// do commit
trans.commit();
}
最后是hibernate定义:
<id name="id" type="int">
<column name="id" />
<generator class="assigned"/>
</id>
有什么想法吗?感谢。