设置:Hibernate 4.0(JPA 2.0),Java EE 6
我有以下问题:我有一个用@Embeddable注释的类“HandAttributes”,它包含很多布尔属性。在另一个班级“人”中,我想将此课程两次。这个想法是,“属性”类中的值表示“人”可以在其左手和右手上具有的属性。
据我了解@AttributeOverride的可能性,我可以覆盖HandAttributes类中的每个属性,并为它们提供一个新的列名,即“BrokenNailRight”和“BrokenNailLeft”。但正如我所提到的,有很多属性,所以我不想明确地覆盖它们。
是否有可能通过提供某种命名模式来覆盖Embeddable类中的所有属性?像将字符串“left”添加到所有列或类似的任何列。
我希望这个问题是可以理解的,我期待你的任何想法!
答案 0 :(得分:0)
是否有可能覆盖Embeddable中的所有属性 类?
我从来没有听说过这样的事情,我很确定这是不可能的。
您确定要嵌入这些对象吗?这导致了许多非常静态的代码,最好这样编写:
public class Human {
Hand leftHand;
Hand rightHand;
...
}
甚至
public class Alien {
Map<ConnectedBodyPart, Hand> hands
...
}
这也应该启用getBrokenNails()
...