java 休眠:在多态 hql 查询中选择鉴别器列
在休眠状态下,我想选择鉴别器值。类似的东西
select discriminator, id, name, age from Animal
这个想法是将此查询的结果发送到客户端,以便我可以根据鉴别器列的值(即猫,狗,大象等)显示不同的图标。
这可能吗?如何?
在休眠状态下,我想选择鉴别器值。类似的东西
select discriminator, id, name, age from Animal
这个想法是将此查询的结果发送到客户端,以便我可以根据鉴别器列的值(即猫,狗,大象等)显示不同的图标。
这可能吗?如何?
您可以按如下方式进行操作:
select a.class, a.id, a.name, a.age from Animal a
来自 Hibernate 文档:
特殊属性类在多态持久性的情况下访问实例的鉴别器值。
休眠查询对象,不知道列。因此,除非您的 Animal 对象中有一个名为鉴别器的属性,否则您不能这样做。您可以在sql中执行查询或获取整个对象,然后获取继承的类型,为此您可以使用“instanceof”