Java 子类与hql
我有一个类和扩展它的子类。 像这样:Java 子类与hql,java,hibernate,polymorphism,hql,Java,Hibernate,Polymorphism,Hql,我有一个类和扩展它的子类。 像这样: @Table @Entity class Cat{ class DomesticCat extends Cat{ LitterBox litterBox; //getter and setters } class TigerCat extends Cat{ HuntingStyle huntingStyle; //getter and setters
@Table
@Entity
class Cat{
class DomesticCat extends Cat{
LitterBox litterBox;
//getter and setters
}
class TigerCat extends Cat{
HuntingStyle huntingStyle;
//getter and setters
}
}
我想用hql进行查询
例如,我想找到有“蓝色”垃圾箱的猫
我应该在DomesticCat和TigerCat类之前添加@entity和@Table注释吗
数据库中没有列用于特定于子类的字段,如litterBox和huntingStyle
谢谢@需要为
DomesticCat
和TigerCat
添加实体,如果您想保留它们。您可以使用@heritation注释来定义子类应该如何映射-对于单个表,请使用@heritation(strategy=single\u table)
@如果您不添加该表,该表将被默认设置。非常感谢您的回答。我应该在哪里将@heritation(strategy=SINGLE_TABLE)写入父类或每个子类。我理解的对吗,如果我写这篇文章,所有的类都可以映射到一个表,对吗?你应该把@heritation(strategy=single_table)添加到父类中。然后,它的所有子类都将映射到父类的表。