我使用Contact类实现了单表继承,并在Person类和Company类中扩展了这个类。
我想知道是否有办法使用Contact类中定义的属性从数据库中选择Contact实例。当我使用“来自联系人c”进行查询时,它会返回人员和公司实例的列表,而不是联系人。
答案 0 :(得分:0)
如果您的联系人不是Person
或Company
,则可以使用歧视器列:
SELECT cat FROM Contact c WHERE c.class='contact'
如果您的数据库中只有Person
和Company
个实例,则应使用结果类型List<Contact>
而不关心特定的子类。多数民族是如何运作的。
答案 1 :(得分:0)
在基类标记定义中放置polymorphism =“explicit”属性