当前位置: 首页 > 知识库问答 >
问题:

使用QueryDSL消除hibernate hql解析器

嵇浩淼
2023-03-14

在这个项目中,持久层使用了Hibernate,但是模型-数据库映射主要是用JPA注释配置的。< br> Hibernate升级变得很困难,因为新的Hibernate版本在SQL中生成了不必要的连接,而HQL没有改变。所以我们正在寻找其他的选择来代替Hibernate的HQL解析器。< br >使用QueryDSL可以构建HQL风格的查询并让QueryDSL生成SQL吗?

共有1个答案

薛博艺
2023-03-14

Querydsl JPA不是JPA实现,所以如果将Querydsl与JPA一起使用,就不能直接控制生成的SQL。如果您希望使用Querydsl来更好地控制所使用的SQL,那么请使用Querydsl SQL。

Hibernate中不必要的连接通常是由HQL级别的隐式连接(属性遍历)引起的。这也可能适用于您的情况。

 类似资料:
  • 问题内容: 在下面的示例XML中,如果E = 13,则如何使用java解析器删除整个B节点。 请指教。 问题答案: 替代DOM方法 另外,您可以使用JDK中的XPath功能来查找值“ 13”的“ B”元素,然后从其父级中删除它,而不是对XML文档进行蛮力遍历: 使用XPath的优点是易于维护,如果结构更改,则只需对代码进行一行更改。同样,如果文档的深度增加,基于XPath的解决方案将保持相同的行数

  • 问题内容: 在编辑xml时,java的dom如何删除doctype? 得到了这个xml文件: 我的功能很基本: 它正在工作,但是文档类型被删除了!我只得到了整个文档,却没有doctype部分,这对我来说很重要,因为它允许我按id进行检索!我们如何保留doctype?为什么会擦除它?我用outputkeys或omImpl.createDocumentType尝试了许多解决方案,但这些都不起作用… 谢

  • 我正在尝试使用Gmail API获取用户的电子邮件,抓取消息主题和正文,然后将其显示在一个网页上。我会用它做其他事情,但这是我有困难的部分。我正在使用Angular.js。 下面是我的API调用: 因此返回我的消息数组及其ID号。这很管用。 对的调用将输出以下内容-。 不确定这是什么,但尝试获取消息有效负载(),会导致。那么,如何获取消息内容呢? 此外,我假设如果我可以获得消息内容,那么我将不得不

  • 问题内容: 我试图在春季连接一个messageSource以用于我的应用程序。它不起作用,给出此错误: org.springframework.context.NoSuchMessageException:在代码“ validation_required”下找不到语言环境“ en”的消息。 我的 applicationContext.xml 包含messageSource的以下定义: 我的邮件属性

  • 问题内容: 我想删除标签之间的所有内容。输入示例可能是 输入: 输出将是: 基本上,我必须先删除整个区块 谢谢, 问题答案: 您最好对找到的 所有 元素进行迭代。所以你可以保证 a。)所有元素都被删除并且 b。)如果没有元素,那么什么也做不了。 例: 编辑: (除了我的评论) 当简单的 null /范围检查 在这里足够时,请不要使用异常处理: 代替:

  • 问题内容: 它很好用,但是我希望它返回一个包含所有字符串的数组,而不是最后一个元素返回一个字符串。 任何想法如何做到这一点? 问题答案: 因此,你想构建一个XML解析器来解析这样的RSS feed。 现在,你可以使用两个SAX实现。你可以使用org.xml.sax或android.sax实现。在发布简短的示例后,我将解释两者的优点和缺点。 android.sax Implementation 让我