JPA继承IdClass位置最佳实践

3
在两种情况下,@IdClass 注释应该在哪里定义呢?
在我看来,对于情况1:实体1和实体2都应该有自己的 @IdClass
因为实体2也有主键。
而对于情况2:MapedSuperClass2 应该有 @IdClass
因为实体1和实体2共享相同的主键。
我的答案是否正确?
情况1:
情况2:

我不明白你的问题。能否重新表述一下? - V G
1个回答

0
在第一种情况下,当您在父类中定义IdClass时,您不能添加或甚至删除子类中键的字段,因此按照规范不允许在Entity2中向键添加新值。
在第二种情况下,请考虑在第二个MapperSuperClass中创建@IdClass以供所有子类使用,因为您不需要向键添加更多字段,那应该可以工作。

我理解case2,但可以请您进一步解释case1吗(例如,“删除子类中键的字段”,“在父类上还是在子类上定义IdClass更好”)? - hiddenuser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接