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

EclipseLink中命名查询中的可选参数

裴星洲
2023-03-14
+ " AND (:quoteNumber IS NULL OR ord.quoteNumber = :quoteNumber)"

共有1个答案

赵雅懿
2023-03-14

JPA规范指出

3.8.13命名查询
命名查询是以元数据表示的静态查询。命名查询可以在Java持久性查询语言或SQL中定义。查询名称的作用域为持久性单元。

所以您不能期望它们在运行时基于某个空条件进行更改。正如您所指出的,条件查询本质上是动态的,这也是我们要走的路。

 AND (ord.quoteNumber = :quoteNumber or :quoteNumber is null or :quoteNumber = '' 
 AND (ord.quoteNumber = cast(:dfdTxt as integer) or cast(:dfdTxt as integer) is null or cast(:dfdTxt as integer) = ''
 类似资料:
  • 问题内容: 使用Hibernate时,有什么方法可以在命名查询中指定可选参数(例如,从表单提供搜索参数而并非所有参数都是必需的)?我正在使用本机SQL查询,但该问题可能也适用于命名HQL查询。 我很确定对此的答案是“否”,但是我还没有在文档中找到确切的答案。 问题答案: AFAIK,没有这样的事情,因此您必须为此编写一个动态查询。也许看一下以前的答案,该答案显示了如何在HQL中执行此操作(您可以将

  • 我不明白 FastAPI 中的可选查询参数。它与默认值为 的默认查询参数有何不同? 在下面的示例中,arg1和arg2有什么区别?在该示例中,arg2是一个可选的查询参数,如上面的链接所述。

  • 我有一个在 XML 配置中定义的Hibernate命名查询。 查询会生成一个关于个人人口统计信息的汇总报告。我们住在哪里,那个人可能住在一个省或一个县。 我想知道是否有可能根据hibernate查询参数,按省或县聚合查询。 这是我尝试过的: 参数名称为:groupReportBy。如果我硬编码“省”而不是参数名称,则此查询将起作用,但如果我按照上面显示的方式运行它,则会出现以下错误: 我从Java

  • 问题内容: 在PHP 4/5中是否可以在调用时指定一个命名的可选参数,从而跳过您不想指定的参数(例如在python中)? 就像是: 谢谢 问题答案: 不,这是不可能的:如果要传递第三个参数,则必须传递第二个参数。并且命名参数也不可能。 一种“解决方案”是只使用一个参数,一个数组并始终传递它……但不要总是在其中定义所有内容。 例如 : 并这样称呼: 将获得以下输出: 但是我真的不喜欢这个解决方案:

  • 问题内容: 我想在存储库层中编写一些查询方法。此方法必须忽略空参数。例如: 在这种情况下,此方法必须返回Foo: 如果gooParam不为null。如果gooParam为null,则条件更改为: 有什么解决办法吗?有人能帮我吗? 问题答案: 来不及了。不确定 Bar 和 Goo 之间的关系。检查 Example是否 可以帮助您。 它为我工作。我有一个类似的情况,实体 用户 具有属性集,并且有基于属

  • 有什么解决办法吗?有人能帮帮我吗?