1

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

4

1 回答 1

3

如果您承认当 id 相同时两个对象相等(您刚刚做了),您应该覆盖hashCodeequals基于此。如果你这样做了,这些对象可以安全地用作键。当然,假设这些 id 没有改变。

编辑:限制这些 id 更改会限制您在持久化之前创建对象并将其作为键添加到集合中。通常建议在您的and中使用业务密钥hashCodeequals

于 2013-03-28T06:44:04.303 回答