14

私のプロジェクトには、以下に示すように BaseEntity という POJO があります。

class BaseEntity{
    private int id;
    public void setId(int id){
        this.id=id;
    }
    public int getId(){
        return id;
    }
}

そして、Movie、Actor などの他の POJO エンティティ クラスのセット...

class Movie extends BaseEntity{
    private String name;
    private int year;
    private int durationMins;
    //getters and setters
}

BaseEntity は、一部のインターフェイスでプレースホルダーとして使用するためだけに使用しています。BaseEntity オブジェクトを格納する必要はありません。BaseEntity から拡張されたエンティティ オブジェクトのみを格納する必要があります。BaseEntity から拡張されたエンティティごとに 1 つのテーブルを取得するには、これらのクラスにどのように注釈を付ける必要がありますか。映画の場合は、(id、name、year、durationMins) のようにする必要があります。

4

3 に答える 3

6

で使用でき、拡張できます@MappedSuperClassBaseEntityMovie

@MappedSuperClass
class BaseEntity {
    @Id
    private int id;
    ...
}

class Movie extends BaseEntity {
    ...
}
于 2013-09-12T12:51:25.507 に答える
1

必要なのは Table Per Concrete クラス戦略です。また、この戦略では BaseEntity の注釈は必要ありません。詳細については、これをご覧ください。

于 2013-09-12T12:37:56.677 に答える