Hibernate的对象持久化问题

2018-05-20  本文已影响11人  游牧族人

数据库中的持久化对象与缓存对象不一致问题。

开发时不知道为什么,session.save()之后的实例对象与数据库中持久化对象不同,主要是id值不一样,当我不设置实例对象的主键值并存入到数据库中时,数据库中通过主键的auto_increment属性实现了自增,但是缓存中的对象主键值依然为0。

后来发现是数据库中自增策略和hibernate设置的自增策略不符。
我的hibernate没有设置主键自增策略,所以默认为程序手动设置主键(AUTO),但是数据库中为auto_increment自增主键。后来将主键自增策略设置成identity,保持数据库与Hibernate主键生成策略一致后,问题得到解决。

关于这个问题,在session.save()中写出了有关说明。

上一篇 下一篇

猜你喜欢

热点阅读