1

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

Persistence WikiBook有一个带参数的公共构造函数,没有无参数构造函数,没有 getter 和 setter,并明确声明 EclipseLink 不需要实现equalsand hashCode

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

4

1 回答 1

2

只需要无参数构造函数(由 java 生成,除非您定义了另一个构造函数)。您可以使用仅具有属性的最小类。

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

于 2016-08-19T20:36:26.830 回答