Hibernate上的一个经典错误:a different object with the same identifier value was already associated with the session:。。。。
今天在学习Hibernate一对多双向映射时碰到了这样的一个错误,几经调试。找出来了原因。持久化类的代理主键类型要设成包装类型。原因很简单,就是基本类型在给没有初值的变量初始化的时候会给初值0,这样就造成Hibernate的Session会存在相同的OID同时为0的游离态的对象。而包装类型没有初值时的默认值为NULL
今天在学习Hibernate一对多双向映射时碰到了这样的一个错误,几经调试。找出来了原因。持久化类的代理主键类型要设成包装类型。原因很简单,就是基本类型在给没有初值的变量初始化的时候会给初值0,这样就造成Hibernate的Session会存在相同的OID同时为0的游离态的对象。而包装类型没有初值时的默认值为NULL
本文解决了一个常见的Hibernate错误:adifferentobjectwiththesameidentifiervaluewasalreadyassociatedwiththesession。介绍了在进行一对多双向映射时如何避免因主键相同导致的问题,并建议将持久化类的代理主键类型设置为包装类型。

被折叠的 条评论
为什么被折叠?



