java - JPA/hibernate "Composite-id class does not override equals()"

标签 java jpa

我正在使用 JPA 并收到以下警告。我对此进行了研究,并理解了为什么我需要覆盖它以及 Hibernate 如何使用这些方法。不过我还有一个问题:

异常:

Composite-id class does not override equals()

问题:

为什么 Hibernate 只关心没有复合 ID 的类?如果只有一个存在,它是否默认比较 @Id 字段,还是这里发生了更复杂的事情?

最佳答案

因为当实体没有复合 ID 时,它们只有一个,属于基本支持的类型之一(Integer、Long、String 等),并且这些类已经具有定义良好的 equals()(和 hashCode())方法。

关于java - JPA/hibernate "Composite-id class does not override equals()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22646456/

相关文章:

java - Maven 依赖项显示在依赖项树中,但没有导入 jar

java - Querydsl列表包含某个类的对象

java - 如何禁止创建 "$HOME/.java_usagetracker"?

java - JPA:AttributeConverter 的参数化实例

java - jpql 查询中列的别名

java - 如何将嵌套List对象绑定(bind)到JSP表单?

Java : use of Curly braces inside Pattern. 编译

java - 在java中的 map 数据列表上应用过滤器

java - 未知实体类型异常 : Unable to locate persister

java - 如何覆盖继承类上的 hibernate JPA 过滤器?