日期:2014-05-19  浏览次数:20682 次

hibernate持久化一个List的问题
我遇到这么一个业务:

用户每次会给出一个List,里面放了一些某类型实体。实体只对应一张表,这张表呢有一个业务主键,还有个自然主键。自然主键那列上弄了个唯一约束。。。

现在想达到这样一个效果:

持久化用户给出的List的时候,遇到与数据库中重复的(自然主键重复)就跳过,继续往下走。
但是呢,我在发现session一旦发生异常就不能正常终止了,提示session不能在发生异常后执行flush。。。。

我想了想,数据库都是并发的,不可能通过“检查-判断-行动”这个逻辑。。

数据库默认的事务隔离级别也帮不了什么忙。。。

但是我又不能锁住整张表。。。

用hibernate的悲观锁的话不知行不行,我还没试,

请各路大侠给个思路~~~~~~~~~~~~~~~~

------解决方案--------------------
楼主 我来帮你了