EclipseLink中IdClass的要求是什么?

时间:2016-08-19 09:43:38

标签: eclipselink jpa-2.0 composite-primary-key object-equality

EclipseLink user guide指出,在为复合主键构造IdClass(未嵌入)时,它必须具有公共无参构造函数,并实现方法equalshashCode。此外,它给出的示例还实现了getter和setter。

Persistence WikiBook有一个带有参数的公共构造函数,没有无参数构造函数,没有getter和setter,并且明确声明EclipseLink不需要实现equalshashCode。 / p>

确实需要以下哪些?我可以使用只有属性的最小IdClass,没有构造函数和方法,因为EclipseLink会为我生成这些吗?这取决于EclipseLink的版本吗?

1 个答案:

答案 0 :(得分:2)

只需要no-arg构造函数(除非你定义了另一个,否则由java生成)。您可以使用仅包含属性的最小类。

但是,在这种情况下,EclipseLink不会生成任何内容(即使使用编织),这意味着您可能会遇到基于哈希或基于等号的操作的意外问题。