【发布时间】:2014-01-01 08:31:24
【问题描述】:
我有 A 类 类型的记录列表,比如说List<A> list=new ArrayList<A>();。
现在我正在尝试使用session.save(); 将 A 的每条记录保存到数据库中。
如果我的第二条记录失败,那么我的其余记录都失败了。在这种情况下,我尝试使用session.evict(obj) 从会话中删除第二条记录。但我仍然得到相同的行为。
下面是代码:
for(A a:list){
try{
session.save(a);
}
catch{
log.exception("Primary key");
session.evict(a);
}
}
【问题讨论】:
-
出现异常后无法继续使用会话。另见stackoverflow.com/questions/5109175/…
-
我认为你必须重新设计你的逻辑,因为在 Hibernate 中抛出异常后,行为是不可预测的。
-
异常后我仍然可以使用会话对象。
标签: java spring hibernate jakarta-ee persistence