在两种情况下,哪里定义@IdClass
批注?
在我看来,情况1:Entity1和Entity2都应具有自己的@IdClass
。
因为Entity2也有主键。
对于情况2:MapedSuperClass2应该具有@IdClass
。
因为Entity1和Entity2共享相同的主键。
我说的对吗?
情况1:
情况2:
最佳答案
在第一种情况下,当您在父类中定义IdClass时,您无法添加甚至删除子类中键的字段,因此规范不允许在Entity2中向键添加新值。
在第二种情况下,考虑在第二个MapperSuperClass中创建@IdClass以便在所有子类中使用,因为您不需要向密钥添加更多内容,这应该可以工作。
关于java - JPA继承IdClass位置最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21984055/