1

セットアップ:Hibernate 4.0(JPA 2.0)、Java EE 6

次の問題があります。@Embeddableで注釈が付けられたクラス「HandAttributes」があり、多くのブール属性を保持しています。別のクラス「Person」では、このクラスを2回埋め込みたいと思います。クラス「Attributes」の値は、「Person」が左手と右手に持つことができる属性を表すという考え方です。

@AttributeOverrideで可能性を理解している限り、HandAttributesクラスの各属性をオーバーライドして、新しい列名、つまり「BrokenNailRight」と「BrokenNailLeft」を付けることができます。しかし、私が述べたように、それらの属性はたくさんあるので、それらすべてを明示的にオーバーライドしたくないのです。

ある種の命名パターンを与えることによって、Embeddableクラスのすべての属性をオーバーライドする可能性はありますか?文字列「左」をすべての列または同様のものに追加するように。

質問が理解できることを願っています。あなたが持っているかもしれないアイデアを楽しみにしています!

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 に答える