java - hibernate/JPA : How to find sub entities using InheritanceType. 已加入

标签 java sql database hibernate jpa

给定一个由三个子实体 SubEntityASubEntityBSubEntityC 扩展的 SuperEntity,您能否对 SuperEntity 执行条件查询以只检索 SubEntityBSubEntityC 的实例?

使用 InheritanceType.SINGLE_TABLE,您可以设置一个鉴别器值,我相信该值用于查询。 InheritanceType.JOINED 是如何完成的?

最佳答案

a) 您可以包括(冗余)@DiscriminatorColumn/@DiscriminatorValue也在 JOINED 实体层次结构中。

b) 您可以使用 JPQL type运营商:http://en.wikibooks.org/wiki/Java_Persistence/JPQL#JPQL_special_operators ,例如SELECT se FROM SuperEntity se WHERE TYPE(se) <> SubEntityA

c) 使用多个查询 ( SELECT se FROM SubEntityB se + SELECT se FROM SubEntityC se ) 收集所有感兴趣的实体。

关于java - hibernate/JPA : How to find sub entities using InheritanceType. 已加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26631827/

相关文章:

java - 是否可以在 Java 中使用变量命名变量?

java - 从 tomcat6 到 jboss5 的远程 ejb 调用导致 : Could not dereference object exception

sql - TransactionScope IsolationLevel 未应用于 Azure

sql - 如何在 SQL 中找到重复的条目并删除最旧的条目?

database - 当我在 PostgreSQL 中创建新服务器时连接被拒绝

java - JTable 未在 java 中显示

Java减去字符串中的字符代码的值

sql - 在 SQL 中获取最近 15 天日期的列表

html - 使用 PHP 将 HTML 表单数据插入 MySQL 数据库

mysql - 如果它通过类似的方法mysql,则计算行数