将hibernate实体加载到子子类中

时间:2014-02-05 12:38:15

标签: java hibernate

我有以下情况:

class Animal (holds all attributes, of course public getter+setter)
class Dog extends Animal (holds only specific methods)
class Cat extends Animal (holds only specific methods)

我想将所有动物存放在动物表中。但是当我加载它们时,我想以某种方式说明它们被加载到哪个子类中。在这种情况下,动物在理论上是抽象的。

是这样的:

session.createCriteria( Animal.class ).addRestriction( .. ).mapTo( Cat.class ) ...

问题是否则我没有看到任何可能从加载的Animal转换为Cat。 :(

我正在使用hibernate 4.2

1 个答案:

答案 0 :(得分:0)

你不是只选择你想要的实体?

Cat是Animal的一部分

SELECT cat FROM Cat cat ...

将仅返回Cat实体,即使您是一个表策略。