0
EclipseLink user guide指出,当为复合主键构造IdClass(不嵌入)时,它必须具有公共无参数构造函数并实现方法equals
和hashCode
。另外,它给出的例子也实现了getter和setter。EclipseLink中的IdClass的要求是什么?
的Persistence WikiBook有参数,无无参数的构造函数,没有getter和setter的公共构造函数,并且明确指出的EclipseLink不需要执行equals
和hashCode
。
其中哪些是真的需要?我可以使用最小的IdClass只有属性,没有构造函数和方法,因为EclipseLink会为我生成这些?这是否依赖于EclipseLink的版本?
那么这是否意味着如果没有指定'hashCode'和'equals',主键的相等性默认为对象标识?因此,实际上包含这些方法在EclipseLink中仍然是必需的? – oulenz
基本上,是的。我建议总是指定'hashCode/equals'方法,但即使没有它,在简单用例(如'select * from ...'等)中它也能正常工作。 –