我有类型A类,比方说List<A> list=new ArrayList<A>();
的记录列表。异常后的Hibernate会话对象
现在我正在尝试使用session.save();
将A的每条记录保存到数据库中。 如果我的第二条记录失败,我的其余记录失败。在这种情况下,我尝试使用session.evict(obj)
从会话中删除第二条记录。但我仍然得到相同的行为。 下面是代码:
for(A a:list){
try{
session.save(a);
}
catch{
log.exception("Primary key");
session.evict(a);
}
}
发生异常后,您不能继续使用会话。另请参阅http://stackoverflow.com/questions/5109175/hibernate-session-is-invalidated-after-constraintviolationexception – isnot2bad
我认为你将不得不重做你的逻辑,因为在Hibernate中抛出异常之后,行为是不可预料的。 –
异常之后,我仍然可以使用会话对象。 – ravindranath