Hibernate(和 JPA)标准表达能力的限制?

2023-12-01

我在层次结构中有 4 个实体,如下所示:

               Parent
                  |
       ------------------------
       |          |           |
    Child1     Child2       Child3

我有兴趣检索 Child1 和 Child2 的所有实例(但不是 Child3 实例),其条件为单一查询.

使用 HQL(或 JPQL)很容易做到这一点,如下所示:

FROM Parent obj  
WHERE obj IN (FROM Child1 where fieldOfChild1="aa") OR   
      obj IN (FROM Child2 where fieldOfChild2=55) 

我研究了 Hibernate Criteria 和 JPA Criteria API,并且我找不到一种方法来将此查询表达为条件.

这是 Criteria API 的限制吗?还是只是我迷路了?有什么提示吗?


如果映射中的每个子类都有一个鉴别器值(例如,Child1 为 1,Child2 为 2,Child3 为 3),则可以在 HQL/Criteria 中使用特殊属性“class”。

所以条件查询可能是这样的:

session.createCriteria(Parent.class)
       .add(Restrictions.or(Restrictions.eq("class", 1), 
                            Restrictions.eq("class", 2)))

您的 HQL 查询也得到了简化:

FROM parent WHERE class = 1 OR class = 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate(和 JPA)标准表达能力的限制? 的相关文章

  • ClientRequestFactory RestEasy 已弃用...还有其他 RestEasy 替代方案吗?

    我需要使用其他人创建的 RestService 的接口来创建轻松的客户端 这工作很好 除了一件事 当我从rest easy 2 3 5 Final更新到resteasy 3 0 x时 Client RequestFactory类看起来像 D
  • Spring Kafka - 为任何主题的分区消耗最后 N 条消息

    我正在尝试读取请求的卡夫卡消息数 对于非事务性消息 我们将从 endoffset N 对于 M 个分区 开始轮询并收集当前偏移量小于每个分区的结束偏移量的消息 对于幂等 事务消息 我们必须考虑事务标记 重复消息 这意味着偏移量将不连续 在这
  • 如何获取JavaFX的版本号?

    如何在运行时找出我正在使用哪个版本的 JavaFX 简单的方法之一就是简单地阅读javafx properties文件位于您的 JAVA HOME jre lib目录 我现在安装了 Java 1 7 u9 与之捆绑的 JavaFX 是 v2
  • 如何使用 Java2D 创建硬件加速图像?

    我正在尝试创建一个快速图像生成器 它可以执行大量 2d 转换和形状渲染 因此我尝试使用 BufferedImage 然后获取 Graphics2D 对象来执行所有绘图 我现在主要关心的是 make 速度非常快 所以我创建一个像这样的 Buf
  • 如何使用 mysemma 记录 querydsl 在后台生成的 sql 查询

    任何显示使用 mysemma 的 querydsl 时自动生成的 sql 查询的最佳方式 以便可以轻松查看这些 sql 查询 并且在使用 querydsl 时调试 sql 查询变得容易 例如 from qCustomer where qCu
  • 如何在Netbeans中自定义jTable标题列字体大小?

    我尝试改变jtable标题字体大小Netbeans 但还不能 无论如何 表行字体大小已成功更改 这是我使用的方法 更改后的输出 问题 标题字体大小未更改 但我也想改变这一点 所以请帮助我该怎么做 一种方法是使用UIManager并替换默认的
  • 如何统计lucene索引中每个文档的term数?

    我想知道 lucene 索引中每个文档的术语数量 我一直在 API 和互联网上搜索 但没有结果 你能帮助我吗 Lucene 的构建是为了回答相反的问题 即哪些文档包含给定术语 因此 为了获取文档的术语数量 您必须进行一些修改 第一种方法是存
  • java - IBM-IEEE 双精度浮点字节转换

    我需要在 Java 中对字节数组进行 IBM IEEE 浮点转换 我能够使用成功地进行单精度浮点字节的转换http www thecodingforums com threads c code for converting ibm 370
  • 结果显示图像上有衬里

    我正在使用 opencv 和 android ndk 下面是我的 jni 代码 void Vignete Mat img1 Mat img2 Mat out resize img1 img1 img2 size img1 convertTo
  • Java Swing 组件的命名约定(前缀)

    在 Java 中使用 Swing 进行编程时 我想到的一个问题是 它是 Swing 组件的推荐还是 官方 最常用的命名约定 前缀 例如 尽管其他人可能更喜欢其他命名约定 但这就是我当前正在使用的 JTextField 的 txt JButt
  • 如何在 Jersey RESTful Web 服务中放置 cookie?

    我想通过 Jersey API 将 cookie 从 PUT webservice result 放置到 POST webservice 这是我的代码 WebResource service1 client resource http te
  • 有没有办法使用 SauceLabs 的 RemoteWebDriver 禁用 CORS 检查

    问题说明了一切 我正在尝试在 SauceLabs 上执行一些硒测试 该测试加载一个发出跨域请求的网页 我在想是否有一种方法可以通过代码以独立于平台的方式禁用 CORS 使用时Chrome驱动程序 Chrome组合禁用cors questio
  • Eclipse 错误:“设置构建路径”遇到错误

    我正在使用一个名为 jtwitter 的 API 它有一个 jar 文件 jtwitter jar 我一直在使用它并使用 git 维护它 我把代码托管在github上 有些天 我没有碰过它的代码 今天 当我克隆我的 git repo 时 实
  • AWS Java SDK 中 DynamoDB v2 的迁移详细信息?

    有没有人对新的命名空间进行了更改 com amazonaws services dynamodbv2 以及 AWS Java SDK 1 4 2 及更高版本 中 DynamoDB 的接口 本地二级指数的发布显然需要根据1 4 2 发行说明
  • 术语“可序列化”是什么意思? [复制]

    这个问题在这里已经有答案了 不太确定我读过的定义可序列化实际上做了什么 import java io Serializable import java text StringCharacterIterator import java uti
  • CompletableFuture 的多个 thenAccept 块的执行顺序是什么

    所以我有一个返回a的方法CompletableFuture 在返回之前 此方法添加一个块thenAccept这是在之后执行的CompletableFuture完成 此方法的调用者还添加了另一个块thenAccept 显然 这可以通过多个链式
  • 为什么永久代空间不断增长?

    我读过几篇文章 我理解以下内容 如果我错了 请纠正我和 或编辑问题 java堆是这样分段的 年轻代 创建的对象放在这里 这部分被频繁且廉价地垃圾收集 老一代 在年轻代的垃圾收集中幸存下来的对象会移到此处 该区域的垃圾收集频率较低 并且使用对
  • Java中精确的时间测量

    Java 提供了两种获取当前时间的方法 System nanoTime and System currentTimeMillis 第一个给出的结果以纳秒为单位 但实际精度比这要差得多 许多微秒 JVM 是否已经为每台特定机器提供了最佳的价值
  • 所有语言中特殊字符的 Java 正则表达式

    在我的用户输入字段中 我想允许某些特殊字符 字母和数字的组合 我应该确保正则表达式模式在输入时允许此设置任何语言 基本上我构建的这个正则表达式也应该支持 unicode 表示 如何使用 Java 中的 Pattern 类来实现这一点 这里给
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具

随机推荐

  • 如何通过 Selenium 和 Python 根据 html 查找元素的 Xpath

    在 python 中尝试过类似的操作 但无法使用 Selenium 单击十字 driver find element by xpath span contains onclick parent WZRK WR closeIframe 600
  • 如何在 PHP 中替换字符串的一部分? [复制]

    这个问题在这里已经有答案了 我正在尝试获取字符串的前 10 个字符 并希望将空格替换为 I have text substr text 0 10 text strtolower text 但我不知道下一步该做什么 我想要字符串 这是对字符串
  • 正在将应用程序上传到应用程序商店 - mach-o 标头代码 0x72613c21

    I m trying to publish my app to the app store I have all the certificates etc needed When I try to archive and then vali
  • 将列表的(相邻)元素打包成 2 元组的方法

    我想知道是否有一种简洁 一行的方法来执行以下操作 pack a gt a a pack pack pack x y xs x y pack xs 这与以下内容相同 pack xs x y x y i lt zip3 xs tail xs 0
  • 尝试添加功能类似于按钮的图像,但弹出此错误,图像“pyimage2”不存在

    我已经有了一组与下面的格式类似的代码 并且似乎可以工作 但不知何故 这个图像并没有出现 它们与代码位于同一文件夹中 Def Small 是使图像正常工作的代码 而 def stripes 是给我一个错误的代码 from tkinter im
  • 在 Python 中读取并运行数学表达式

    使用Python 我将如何读取 从字符串 文件或url 数学表达式 1 1 是一个好的开始 并执行它 除了获取字符串 文件或 url 之外 我不知道从哪里开始 因为 python 支持一些代数形式 所以你可以这样做 eval 1 1 但这允
  • 如何从多个表中获取详细信息?

    在MySql数据库中有AM COURSE那个表 cId CourseName course desc 101 java sometext 102 mysql sometext AM USER in that uid name 1001 Ra
  • 主干:管理模板

    我正在为骨干应用程序使用下划线模板引擎 截至目前 我有超过 15 个模板 它变得很难维护 到目前为止 我看到的大多数管理模板的解决方案最终都需要它们是 js 文件 这也是一个令人头疼的问题 我更喜欢它们是用于编辑目的的 html 文件 我查
  • 在 ggplot2 之上覆盖基础 R 图形

    我在 ggplot 中有一个绘图 我希望覆盖我用基本 R 代码创建的地图图例 我不知道如何将基本 R 图形覆盖在 ggplot 之上 非常感谢您的帮助 Currently I have a ggplot legend that looks
  • Outlook 2010 - VBA - 在 ItemSend 中设置密件抄送

    Program 2010年展望 OS Win8 VBA技能 新手 Notes 如果我删除以下选项 这将非常有效 Private Sub Application Item Send 3 If Item SendUsingAccount Acc
  • Java Swing - JFreeChart 应用程序运行缓慢

    我创建的 JFreeChart 程序可以 移动样条线的点 不允许交叉黑色样条线 边界样条线 实时创建新样条线 作为 Grapher 鼠标滚轮缩放 为了向数据集添加新系列 我使用此函数 public static XYSeriesCollec
  • jQuery/Javascript 查找并替换所有实例[重复]

    这个问题在这里已经有答案了 可能的重复 用 Javascript jQuery 中的正则表达式替换模式的所有实例 如何使用 jQuery 为特定单词的所有实例的 parts 设置样式 假设我有代码 div class replace i B
  • iOS11 UIBarButtonItem 不工作

    我有一个应用程序已在商店中使用 我正在尝试为 iOS11 版本做好准备 但遇到了一个恼人的问题 没有任何一个UIBarButtonItem应用程序中的s工作正常 leftBarButtonItems 是可单击的 但单击区域稍微位于项目的右侧
  • POST 期间 REST Web 服务中的 HTTP 400 错误,FormParam 包含自己的对象(例如实体)

    对于 REST 服务中的订购流程 我必须将 文章 列表从客户端发送到服务器 这些文章对象是自制的实体类型 我已经发现发送 STRING 或 INTEGER 对象的列表确实有效 通过 FormParam 发送 但是 一旦我尝试发送我自己的对象
  • Karate Http请求有条件地添加参数

    有没有办法有条件地添加参数 我有以下请求 Given url http myURL And param time time When method DELETE Then status 200 例如 如果时间为 未定义 或 空 则完全忽略参
  • 我应该在哪里放置图像以使用它来创建新的 Swing ImageIcon 对象?

    我正在研究 Java Swing 库 但遇到了问题 在示例程序中 它创建了一个图像图标这条线的对象 ImageIcon icon new ImageIcon getClass getResource exit png 当我执行我的程序时 我
  • 使用 python 从 Twitter 数据中删除用户名

    我使用 python 从 Twitter 获取了一些数据 现在我想对其进行预处理 如果推文的用户名位于两个单词之间并且它们之间没有空格 如何删除用户名 我想保留文字 只删除用户名 例如 文本文件 你好 rahul你能帮我吗 是的 tanya
  • 将 xml 文档作为参数传递给 xsl

    我读了很多帖子并尝试了很多东西 但仍然无法让 xsl 找到参数中的值 我从java的sun xalan开始 但从未让它工作过 所以我切换到saxon 但无济于事 我想用 xls 将两个 xml 文档合并为一个 永远不会在文件系统上 这是针对
  • 包含在 linq 查询中

    您好 我正在使用实体框架和 LinQ 我有一个名为 users 的表对象 我有一个名为 userids 的列表 我必须找到 ids 包含在字符串中的所有用户 我必须执行以下操作 select from users where userid
  • Hibernate(和 JPA)标准表达能力的限制?

    我在层次结构中有 4 个实体 如下所示 Parent Child1 Child2 Child3 我有兴趣检索 Child1 和 Child2 的所有实例 但不是 Child3 实例 其条件为单一查询 使用 HQL 或 JPQL 很容易做到这