Hibernate 中如果查询参数为 null 或为空,如何处理?

2024-02-04

我正在使用 JPA、hibernate 3。

String sqlQuery = " FROM TraceEntityVO  where lotNumber =:lotNumber and mfrLocId=:mfrLocId and mfrDate=:mfrDate and qtyInitial=:qtyInitial and expDate=:expDate";
Query query = entityManager.createQuery(sqlQuery)
                .setParameter("lotNumber", traceEntityVO.getLotNumber())
                .setParameter("mfrLocId", traceEntityVO.getMfrLocId())
                .setParameter("mfrDate", traceEntityVO.getMfrDate())
                .setParameter("qtyInitial", traceEntityVO.getQtyInitial())
                .setParameter("expDate", traceEntityVO.getExpDate());

当没有空值或空值时,此查询就像一个魅力。但可能存在 null 或空值traceEntityVO.getLotNumber()、traceEntityVO.getMfrLocId()、traceEntityVO.getExpDate()。

在这种情况下,将根据变量检查值“null”或“”,而不是is null健康)状况。当我不确定参数值(null 或empty)时如何处理?

我不想根据空或空的值动态构建查询。


我认为如果没有动态查询,你真的无法做到这一点。

然而,使用条件 API 构建这样的查询很容易(休眠 http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querycriteria.html) (JPA http://docs.oracle.com/javaee/6/tutorial/doc/gjitv.html),你考虑过吗?

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

Hibernate 中如果查询参数为 null 或为空,如何处理? 的相关文章

随机推荐

  • 如何合并属于另一个可观察量属性的可观察量

    我有一个假期列表 每个假期都附有一个用户 ID 我想将检索到的用户数据合并到每个假期记录中 以便它返回单个可观察值 我创建了这个函数 getAllHolidaysAndUsers return this af database list H
  • Mysql函数调用

    如果我多次调用一个函数 那么它会每次都执行还是只执行一次 然后多次使用该值 例子 select my function filed my function filed field2 my function filed field1 fiel
  • 使用 Python 求解四分位数和十分位数

    Python 2 7 是否有一个可以解决四分位数和十分位数的库 numpy 似乎没有任何功能 如果有的话可以给我一个链接吗 提前致谢 D Using np百分位数 http docs scipy org doc numpy dev refe
  • 多线程curl同时处理多个连接

    curl multi 接口是否在内部生成新线程以同时处理多个请求 它是否等于手动生成线程并仅使用curl easy句柄 什么是性能更高 我需要发出最多 1000 个并发请求 https curl haxx se libcurl c mult
  • 按多对多关系的计数排序 - SQLAlchemy

    我正在使用 Flask SQLAlchemy 来查询我的 Postgres 数据库 我目前正在尝试使用以下查询来查询标题建议 res Title query filter Titles name ilike searchstring lim
  • 如何配置 playframework 服务器以支持 ssl

    如何配置 playframework 服务器以支持 ssl 例子https 本地主机 9000 https localhost 9000 如果您更喜欢使用集成方式 请参阅发行说明 http www playframework org doc
  • 启动进程并监听退出事件

    我有一些代码启动一个进程并连接一个事件处理程序来处理进程退出时的情况 我的代码是用 C 编写的 我想知道 Delphi 是否可以实现类似的功能 System Diagnostics Process myProcess new System
  • YouTube 数据 API v3 评论列表

    我正在使用 YouTube V3 0 API 调用来下载特定 YouTube 频道 例如 Apple YouTube 频道 的 JSON 信息源 现在 我已经设法拥有视频列表和所有内容 但如果可能的话 我还想获得对视频的评论或其中一些评论
  • 有没有办法将外部 URL 分配给超链接而不附加 http:// 或 https://(即协议)?

    我有一个像这样定义的超链接
  • 如何更改我的计算机的文化信息

    我正在 IIS 上运行一个站点 该站点从 Thread CurrentThread CurrentCulture 读取区域性信息 这来自我所理解的系统文化信息 我需要将其设置为某个值 但我无法在操作系统级别更改它 我的 Windows 7
  • Laravel 5:如何将本地文件复制到 Amazon S3?

    我正在 Laravel 5 中编写代码来定期备份 MySQL 数据库 到目前为止我的代码如下所示 filename database backup date G a m d y sql destination storage path ba
  • slim3 中的控制器单元测试

    首先 我想说 我是 PHP phpunit 单元测试的新手 在我的新项目 slim3 框架 中 我想测试我的控制器 例如 LoginController 我的想法是 在单元测试方法中 创建实例LoginController 模拟控制器中的一
  • 比较两个字符串并得到差异

    如何比较 C 中的两个字符串并获得差异 例如 String1 我有一辆车 string2 我有一辆新车宝马 结果 新车 宝马 您需要确保较大的一组位于左侧Except 不确定是否有纯粹的 Linq 方法来实现这一点 static void
  • 获取输入文件的目录(Applescript)

    我很困惑 我已经在谷歌上搜索了一个小时 并且尝试了大约十种不同的形式set posixDirectory to POSIX path of parent of path to aFile as string 但我似乎无法做对 我通过执行以下
  • 异步方法跳过等待

    我有以下代码 public async Task
  • Akka-http:如何从请求中获取自定义标头?

    我在请求中将以下标头发送到我的 akka http api Content type application json Accept application json AppId some id 如何在我的 akka http 路由中获取
  • 如何平滑 3D 体素世界的块?

    在我的 类似 Minecraft 3D 体素世界中 我想要平滑形状以获得更自然的视觉效果 我们首先以 2D 形式来看这个示例 左边是没有任何平滑处理的世界的样子 地形数据是二进制的 每个体素被渲染为单位大小的立方体 在中心你可以看到一个朴素
  • 减少 Visual Studio 2019 中的日志和其他临时文件创建

    我的工作开发 PC 资源有限 主系统磁盘只有 28GB 有一个 1TB 外部硬盘 一些数据和应用程序已移至此处 然而 我仍然经常遇到 Windows 10 磁盘空间不足 警告 当可用空间降至约 1GB 以下时会触发该警告 在积极工作的情况下
  • 在编译时创建一个标识符,其中包含行号[重复]

    这个问题在这里已经有答案了 我想要一个 C 预处理器宏来创建一个新的标识符 其中包含行号 这是为了将标识符用作一次性变量 不会与任何其他变量名称冲突 例如 如果我写 VARNAME Var 在文件的第 100 行 我希望预处理器生成变量名称
  • Hibernate 中如果查询参数为 null 或为空,如何处理?

    我正在使用 JPA hibernate 3 String sqlQuery FROM TraceEntityVO where lotNumber lotNumber and mfrLocId mfrLocId and mfrDate mfr