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

连接到Hibernate的查询生成

江佐
2023-03-14

我想用预处理器实现虚拟视图。一个简单的例子:

HQL之前:

FROM PublishedArticle a

有效HQL后:

FROM Article a
WHERE a.published = true

本质上,我需要一种在执行查询之前处理查询的方法(而不是在运行中创建视图,这会产生很高的成本)。

共有2个答案

钮安歌
2023-03-14

你不能用HiberNate过滤器做到这一点吗?当然,对于比WHere更复杂的事情,它是行不通的:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/filters.html

薛经艺
2023-03-14

您可以使用 StatementInspector 完全重写 SQL 以满足您的需要。

进一步阅读:如何在Hibernate中配置StatementInspector?

 类似资料:
  • 我想执行以下sql查询 如何使用hibernate 3.0为此编写hql查询 我是这样写的 但它显示了hql语法错误

  • 我有一个表“Quote”,映射在hibernate中,它有一个由整数id和日期组成的复合键,还有几个附加列。我想编写一个条件查询,它使用DetachedCriteria来获取每个id中日期最长的行。 在sql中,我可能会编写一个查询,比如 在hibernate中,我认为可以像这样为“group by”子查询创建DetachedCriteria(其中Quote是映射表的类,“Qid”是键的复合id类

  • MongoDB提供了lookup操作,用于实现两个表的关联聚合,但聚合操作编写起来比较麻烦,而且不符合面向对象的思维。为简化开发,bugu-mongo提供了一个JoinQuery类,用于实现两个表的连接查询。 JoinQuery借鉴了SQL左连接的概念: 当前表为左表,被连接的表为右表; 通过指定左键、右键进行关联; 对于不存在关联的数据,只会返回左表的数据,右表的数据为null。 创建JoinQ

  • 大家好,我在使用jparepository使用@query连接两个表时遇到了一个小问题,但我得到了错误。请帮我做这个。

  • 我有一个复合密钥的实体。订阅和源具有多对多的关系。 我正在使用Spring数据存储库来处理它。 当我尝试使用方法saveAll时,它会抛出 “com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception:未知列'subscripti0_.subscription_id'” 同时尝试在保存后返回值。 Hibernate生成以下查询: 所以,现在我

  • 我正在尝试转换以下查询: 到标准Hibernate查询,但肯定错过了一些东西,因为我得到了以下错误: 当我尝试时: 很抱歉,表/列命名错误,但这是敏感数据。