1

设置:休眠 4.0 (JPA 2.0)、Java EE 6

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

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

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

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

4

1 回答 1

0

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

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

您确定要嵌入这些对象吗?这会产生很多真正的静态代码,最好这样写:

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

甚至

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

这也应该启用getBrokenNails()...的通用版本

于 2012-07-13T09:18:18.867 回答