当前位置: 首页 > 面试题库 >

如何在Hibernate中为内部查询设置限制?

陆伟
2023-03-14
问题内容

我有这样的HQL:

from Table1 t1 where t1.name not in (select t2.name from Table2 t2 order by t2.date limit 10)

问题是它不理解limit关键字。有没有一种方法可以运行这样的查询而不将其分为两个子查询?


问题答案:

看一下如何在HQL中进行限价查询?

您不能用hql限制用hql编写的查询。您需要调用Query对象上的setMaxResults,我想这将阻止您对hql子查询施加限制。

这使您可以选择

  • 将其编写为sql查询或
  • 尝试寻找另一种编写hql查询的方法,以便您在子查询中不需要限制。


 类似资料:
  • 问题内容: 我有一个实体: 我在说。这是我的DAO方法: 日志说: 请求处理失败;嵌套的异常是java.lang.NullPointerException 并将指针放在这一行: 有时必须为null。那么如何设置null? 问题答案: 如果您查看Query类的文档,setInteger()方法, 它以名称和 原始类型int 作为参数。 当您在 自动装箱 期间传递值为null的包装器类型Integer

  • 我有一个要求,在Dynamodb中查询表时只需要返回一行。我可以在aws cli中看到一个名为“max items”的参数,它显然限制了查询的结果大小。以下是示例查询: 但我无法在Go中找到任何类似的关键字/属性。 以下是我可以找到的相关内容:如何使用Java设置DynamoDB返回的匹配项的限制?

  • 问题内容: 给出以下HQL查询: 我使用Query对象的方法进行设置。 我想使用对象进行设置,但是在查看Hibernate文档和方法列表时,我看不出要使用哪种明显的选择。有任何想法吗? 问题答案: 使用,的Javadoc在这里。 有四种变体可供选择。

  • 在elasticsearch term查询文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html中,声明有一个字段 然而,我无法设置它。我可以设置和而没有问题,但不能设置。 当我运行时,我得到错误状态。 我在哪里搞错了,或者文档是错误的?

  • 如何在应用程序级别配置默认查询超时。我使用spring、hibernate和db2作为后端。在datasource级别设置超时不是一个选项,因为我们使用的是旧版本的IBM WebSphere。我尝试在事务管理器中配置defaultTimeout,但这没有帮助。我也不想集成c3p0连接池。hibernate是否为在应用程序级别设置全局查询超时提供了其他选项,如果是,如何配置。

  • 我有一个mysql内部联接查询,它联接数据库中的3个表,并生成所需的结果集。现在我想使用session.createQuery()编写相应的hibernate查询。我已经在我的项目中为这3个表创建了模型类。没有与3个表关联的映射。mysql查询如下所示。 现在请告诉我如何使用hibernate session.createQuery()编写这个查询?请帮助我。下面是3个表的模型类 帐户. java