不使用本机SQL查询的正则表达式查询 - JPA

时间:2016-12-29 06:42:39

标签: java regex postgresql hibernate spring-data

我的问题是如何通过regex 从数据库(PostgreSQL)获取值,但不使用本机SQL查询。 我找到的唯一方法是使用Hibernate Criteria API:

criteria.add( Restrictions.sqlRestriction (“name~' ^(?!”+ filter +“)'”));

但是这个方法也使用SQL。 Spring数据具有查询创建功能,但正则表达式搜索似乎只适用于MongoDb。

http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

我的目标不依赖于本机sql查询,而是使用对象,并使我的项目可以移植到任何其他数据库。

1 个答案:

答案 0 :(得分:2)

您可以通过扩展Hibernate Dialect类来添加自定义方法。魔术真的吗? :)