java - 使用 JPA Criteria Builder 获取结果,其中仅包含数字字段,其中属性在 MySQL 中具有字母数字值

标签 java mysql eclipselink jpa-2.0 criteria-api

我想知道如何使用 JPA CriteriaBuilder 进行查询,其中 String 类型的属性 userCode 代表数字。

我有:

Id    name    userCode
1     ABC     ABCD_123
2     XYZ     ABC_EFGH
3     TEST    7845
4     TEst2   85245

现在我只想得到 userCode 值仅为数字的结果。

谢谢

最佳答案

我相信JPA中没有函数可以做到这一点(通过集合的JPA关系将显示所有相关元素,无论它们是否是数字)。无论如何,您可以使用 native 查询使数据库返回它们过滤器,或者使用 JPA 实现的任何功能,如下所示:

http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/j_regexp.htm

这允许 JPA 对检索的行使用正则表达式。

关于java - 使用 JPA Criteria Builder 获取结果,其中仅包含数字字段,其中属性在 MySQL 中具有字母数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33886942/

相关文章:

java - ObjectInputStream 中的 StreamCorruptedException

java - XSLT + XML 未在 Web 客户端应用程序中形成 html,引发 "no protocol"错误

mysql - 无法将列用于子查询 - MySQL 数据库

JAVA Eclipse链接查询

java - 更新映射为 @ManyToMany、@JoinTable 和 @OrderColumn(具有唯一约束)的实体列表时出现 MySQLIntegrityConstraintViolationException

java - Spring mvc 模块使用其他模块的资源文件

java - 将实现接口(interface)的某个类的对象分配给类型接口(interface)

criteria - Jpa QueryBuilder where子句中的多个表达式不起作用

python - 用户的数据操作

php - 将 php 开关列值设置为 1 或 0