1

JPA/Hibernate の継承について明確にする必要があります。

two andエンティティFruitによってサブクラス化された抽象エンティティがあるとします。さらに、データベース内のインスタンスがあります。AppleOrangeOrange

このインスタンスをデータベースからプレーンとして取得しFruit、にキャストできOrangeますか?

4

2 に答える 2

1

よくあなたはすることができます:

Fruit fruit = dao.get(id, Fruit.class)
if(fruit instanceof Orange)
{
   (Orange) fruit
}

実行時に適切なタイプになります。ただし、を作成するHQLと、そのランタイムタイプを確認できます。継承とマッピングがうまく行われていれば、これは通常不要です。

select f from Fruit f where f.class = 'a.b.c.Fruit'
于 2012-09-22T16:47:14.790 に答える