如何在JPQL中应用正则表达式?

2023-12-21

我使用 JPA(Hibernate)作为持久层。

我需要添加一个基于正则表达式的 WHERE 子句, 这样的一些模式是 SELECT * FROM TableName where REGEXP_LIKE(ColumnName, 'Pattern')。我从结果中得到的是字符串列表,但我需要从数据库中获取映射实体作为对象而不是字符串。

据我所知,JPQL 可以将结果作为对象返回,但 JPQL 似乎不支持正则表达式,因为它是 Oracle 的专有扩展。

如何将正则表达式应用于 JPQL?我还需要知道什么?


JPQL 中没有完整的正则表达式,但有模式值。根据规格JPQL 2.2(第 188 页) http://download.oracle.com/otndocs/jcp/persistence-2_2-mrel-spec/index.html:

Pattern_value 是字符串文字或字符串值输入参数,其中下划线 (_) 代表任何单个字符,百分号 (%) 字符代表任何字符序列(包括空序列),所有其他字符代表为了他们自己。

[...]

例子:

  • address.phone LIKE ‘12%3’ 对于 ‘123’ ‘12993’ 为 true,对于 ‘1234’ 为 false

  • Sentence.word LIKE ‘l_se’ 对于 ‘lose’ 为 true,对于 ‘loose’ 为 false

  • a word.underscore LIKE ‘_%’ ESCAPE ‘\’ 对于 ‘food’ 为 true,对于 ‘bar’ 为 false

  • address.phone NOT LIKE ‘12%3’ 对于 ‘123’ 和 ‘12993’ 为 false,对于 ‘1234’ 为 true

如果您想要更高级的正则表达式构造,您需要使用本机查询。

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

如何在JPQL中应用正则表达式? 的相关文章

随机推荐

  • 复制构造函数和防御性复制

    什么是复制构造函数 有人可以分享一个有助于理解的小例子吗防御性复制原则 这是一个很好的例子 class Point final int x final int y Point int x int y this x x this y y Po
  • PHP Twitter API 分块上传问题:分段加起来不等于提供的总文件大小

    所以我将 Twitter API 集成到一个应用程序中 我需要它能够发布图像 视频和动画 GIF 我正在使用 php5 6 和 J7mbo twitter api php 包 到目前为止我的代码如下 file fopen realpath
  • 将文本项目符号添加到 C# 表单

    我正在用 C 创建一个表单 需要在表单上显示文本 我需要一些文本显示在带项目符号的无序列表中 使用标签时可以做到这一点吗 或者富文本框 我没有使用 ASP NET 这是针对桌面应用程序的 我的消息应该是这样的 要继续 请选择以下操作之一 单
  • IOError:[Errno 2]没有这样的文件或目录(当它确实存在时)Python [重复]

    这个问题在这里已经有答案了 我正在通过 python 中的 uart 传输文件文件夹 下面您可以看到简单的功能 但有一个问题 因为我收到如标题所示的错误 IOError Errno 2 No such file or directory 1
  • 在 EXCEL 中构建 SQL SELECT 语句

    我正在尝试在 Excel 中构建 SQL 语句 Sample 我正在尝试构建 sql 语句 但只想在 DIM 列中有值时添加列 因此 在 SQL 中执行时 SQL 看起来很整洁 没有任何语法错误 这里如何消除 from 关键字之前的多余逗号
  • 酿造更新破坏了什么?

    自制程序工作正常 直到我做了一个brew update 好几个月没有更新了 brew 更新完成后 每个brew命令会产生相同 相似的错误消息 usr local Library Homebrew global rb 6 in require
  • 两个菜单 Android 应用程序

    我工作的公司有一个 iOS 应用程序 它有两个滑动菜单 左侧一个用于导航 右侧一个显示应用程序范围的上下文信息和操作 iOS 应用程序有一个类似于 ActionBar 的小部件 在显示任一菜单时 意味着它是隐藏的 它会随主内容窗格一起滑动
  • TypeError:错误的参数类型类(预期模块)与控制器有关

    所以我有一个名为 guest controller rb 的控制器 如下所示 class GuestsController lt ApplicationController include Data def index display da
  • NSubstitute - 检查传递给方法的参数

    我们目前正在从 RhinoMocks 迁移到 NSubstitute 我有一个接受类型对象的方法DatabaseParams 该类具有以下结构 简化 public class DatabaseParams public string Sto
  • HTTP协议的PUT和DELETE及其在PHP中的使用

    介绍 我已阅读以下内容 超文本传输 协议 HTTP 是网络的生命 每次传输文档或发出 AJAX 请求时都会用到它 但令人惊讶的是 HTTP 在一些 Web 开发人员中相对陌生 HTTP 动词构成了 统一接口 约束的主要部分 并为我们提供了与
  • 当数据库中添加新行时,必须调用外部命令行程序

    当向数据库中的一个表添加新行时 MySQL 数据库是否可以调用外部 exe 文件 我需要监视数据库中的更改 因此当进行相关更改时 我需要在数据库之外执行一些批处理作业 查德 伯奇 Chad Birch 有一个好主意 使用MySQL 触发器和
  • 将 Rewire 与 TypeScript 结合使用

    我正在使用 TypeScript 开发一个 React Native 项目 为了编写我的单元测试 我想使用babel 插件 重新布线 https github com speedskater babel plugin rewire模拟我的模
  • Python Pillow:在发送到第三方服务器之前使图像渐进式

    我有一个使用 Django Forms 上传的图像 它在变量中可用InMemoryFile我想做的就是让它进步 使图像成为渐进式的代码 img Image open source img save destination JPEG qual
  • EntityManager 中的 SessionFactory 抛出异常

    我尝试使用以下几行从 JPA 的 EntityManager 获取 Hibernate 的 SessionFactory PersistenceContext EntityManager manager public SessionFact
  • 以深度优先顺序生成数组笛卡尔积的算法

    我正在寻找一个示例 说明如何在 Ruby 类似 C 的语言或伪代码 中创建可变数量的整数数组 每个数组的长度不同 的笛卡尔积 并以特定顺序逐步遍历结果 因此 1 2 3 1 2 3 1 2 3 1 1 1 2 1 1 1 2 1 1 1 2
  • Sencha Touch MVC 最佳实践

    我试图将我的注意力集中在 Sencha Touch 的 MVC 框架上 但我发现了几种不同的方法 其中一处 发现here http vimeo com 17705448 SenchaCon 2010 上提出了一种构建 Sencha Touc
  • 关闭:使用未解析的标识符“self”

    我正在解析 Swift 语言指南教程 来自 Apple iOS 开发库 并为每一章创建一个单独的 swift 文件 在每个文件中 我创建多个函数 在其中隔离它们提供的代码片段 一切正常 直到测试闭包的强引用循环 由于某种原因 如果在函数内部
  • RampUsersPerSec 函数的真正作用是什么?

    我发现加特林文档对特定功能有点不清楚 rampUsersPerSec 在给定持续时间内每秒注入随机数量的用户 rate1 至 rate2 期间 dur 单位 从起始速率1注入用户 目标速率2 在给定持续时间内以每秒用户数定义 例如 在 10
  • TestFlight 处理状态

    上传新版本的应用程序后试飞 应用程序有状态加工几分钟后 程序集从列表中消失 之前没有这个问题 请问是什么原因呢 检查邮箱 您将收到来自 Apple 的邮件 如果您仍然没有收到任何邮件 请检查 plist 和权限 确保您已在 plist 中包
  • 如何在JPQL中应用正则表达式?

    我使用 JPA Hibernate 作为持久层 我需要添加一个基于正则表达式的 WHERE 子句 这样的一些模式是 SELECT FROM TableName where REGEXP LIKE ColumnName Pattern 我从结