在地图安全中使用Hibernate的@Entity对象作为键吗?

时间:2013-03-28 06:31:57

标签: hibernate

使用Hibernate @Entity注释的对象作为地图中的键是否安全?安全意义如果对象的数据库ID相同,我希望两个键是相同的。我在没有分离对象的事务范围内使用它。

1 个答案:

答案 0 :(得分:3)

如果您确认两个对象在id相同时(您刚才这样做)相等,则应基于此覆盖hashCodeequals。如果您已经这样做了,这些对象可以安全地用作键。当然假设这些ID不会改变。

编辑:限制这些ID的更改限制了您在持久化之前创建和添加对象作为集合的关键字。通常建议use a business key in your hashCode and equals