2
JARからいくつかのクラス "A"を拡張するいくつかのクラス "B"を作成しました。クラス "B"の注釈を@Entity
と@Table
と入れてください(私はクラス "A"で同じことができません)が、Spring/Hibernateがテーブルを作成しているときはクラス "B"のフィールドだけが含まれています。データベース非エンティティスーパークラスのフィールドを含むJPAアノテーション
+--------+ +--------+--------+
| fieldB | but I want this to be made | fieldA | fieldB |
+--------+ +--------+--------+
に作成され
// some class from JAR
// not an Entity
class A {
String fieldA;
}
@Entity
@Table(name = "B")
class B extends A {
String fieldB;
}
表はどのようにそれを管理するには?これを解決するクラスBに入れることができるJPAアノテーションがありますか?
EDIT:@AttributeOverride
注釈が@Id
注釈がクラスの外に置くことができないときId
ように、そのオーバーライドされたフィールドをマークする方法を、ソリューションですか?
私はそれを試しましたが、その場合の問題は、私が実装機を実装する必要があるということです。私はスキップしたいものです。スーパークラスはビルダーを使っているので、セッターなしで作られています。 – milosdju
それは本当です。ビルダーパターンとJPAは、最高の友達ではありません。 2つの他の "解決策"は、値をマッピングし、リフレクションを使ってBからセッターを構築しています(私は知っています...)。 – jklee