Hibernate @AttributeOverrides对多个属性没有明确命名每个属性

时间:2012-07-12 12:36:45

标签: java hibernate orm seam java-ee-6

设置:Hibernate 4.0(JPA 2.0),Java EE 6

我有以下问题:我有一个用@Embeddable注释的类“HandAttributes”,它包含很多布尔属性。在另一个班级“人”中,我想将此课程两次。这个想法是,“属性”类中的值表示“人”可以在其左手和右手上具有的属性。

据我了解@AttributeOverride的可能性,我可以覆盖HandAttributes类中的每个属性,并为它们提供一个新的列名,即“BrokenNailRight”和“BrokenNailLeft”。但正如我所提到的,有很多属性,所以我不想明确地覆盖它们。

是否有可能通过提供某种命名模式来覆盖Embeddable类中的所有属性?像将字符串“left”添加到所有列或类似的任何列。

我希望这个问题是可以理解的,我期待你的任何想法!

1 个答案:

答案 0 :(得分:0)

  

是否有可能覆盖Embeddable中的所有属性   类?

我从来没有听说过这样的事情,我很确定这是不可能的。

您确定要嵌入这些对象吗?这导致了许多非常静态的代码,最好这样编写:

public class Human {
Hand leftHand;
Hand rightHand;
...
}

甚至

public class Alien {
Map<ConnectedBodyPart, Hand> hands
...
}

这也应该启用getBrokenNails() ...

的通用版本