为JPA实体编写哈希码

时间:2012-10-28 05:14:19

标签: jpa-2.0 hashcode

在为我的JPA2实体制作哈希码时,我对规则感到有点困惑。

我有一个嵌入式实体,包含审计列(lastModifiedDate,createdDate)等。这个对象应该是我实体的哈希码的一部分吗?

@Entity(name = "CaseStatusEnum")
public class CaseStatus implements java.io.Serializable {

    private static final long serialVersionUID = -5936623582710348810L;

    @Id
    @Column(unique=true,nullable=false,length=30)
    private String caseStatus;

    @Column(nullable=false,length=100)
    private String caseStatusDesc;

    @Embedded
    private AuditTrail auditTrail;

1 个答案:

答案 0 :(得分:0)

我建议您链接到equals和hashcode函数的概述概念,特别是它在Hash和Collections的差异实现中的使用。 overriding equals and hashcode 然后,您可能需要根据您使用的JPA2实现调整equals和hashcode函数的实现。无论如何,我建议您查看有关Hibernate - equals and hashcode的这篇文章,以便更好地了解您的应用可能会如何影响覆盖此功能。

此致