请参阅JBoss社区网站上的Equals和HashCode.从那里:
为避免此问题,我们建议使用持久化类的"semi"-unique属性来实现equals()(和hashCode()).基本上,您应该将您的数据库标识符视为根本没有业务含义(请记住,无论如何都建议使用代理标识符属性和自动生成的值).数据库标识符属性应该只是一个对象标识符,基本上只应由Hibernate使用.当然,您也可以使用数据库标识符作为方便的只读句柄,例如在Web应用程序中构建链接.
换句话说,Hibernate使用equals和hashCode进行标识,而不是查看对象是否已被修改.它使用属性比较属性.
| 归档时间: |
|
| 查看次数: |
5013 次 |
| 最近记录: |