HQL 无法使用MYSQL的 REGEXP 正则表达式
2017-06-02 17:08
555 查看
SELECT h.* FROM `hotel` h where h.address REGEXP ?
这个在HQL中 是不认识 REGEXP 关键字
我们实现一个自己的mysql方言类,然后注册这种语法为函数
hibernate.dialect = com.vipshop.platform.metasys.util.RegMySQLDialect
HQL对应的也要进行改变,改成函数式的使用方法
SELECT h.* FROM `hotel` h where REGEXP(h.address,?)=1
参考:http://stackoverflow.com/questions/17702544/hibernate-regexp-mysql
这个在HQL中 是不认识 REGEXP 关键字
我们实现一个自己的mysql方言类,然后注册这种语法为函数
public class RegMySQLDialect extends MySQLDialect { public RegMySQLDialect() { super(); registerFunction("regexp", new SQLFunctionTemplate(Hibernate.INTEGER, "?1 REGEXP ?2")); } }然后hibernate的配置项改为:
hibernate.dialect = com.vipshop.platform.metasys.util.RegMySQLDialect
HQL对应的也要进行改变,改成函数式的使用方法
SELECT h.* FROM `hotel` h where REGEXP(h.address,?)=1
参考:http://stackoverflow.com/questions/17702544/hibernate-regexp-mysql
相关文章推荐
- mysql中REGEXP正则表达式使用
- MySQL中REGEXP正则表达式使用大全
- MySQL中REGEXP正则表达式使用大全
- Mysql中使用正则表达式搜索——关键字REGEXP(., |, [], ^, $, \\)
- MySQL中REGEXP正则表达式使用大全
- MySQL中REGEXP正则表达式使用大全
- MySQL中REGEXP正则表达式使用大全
- MySQL中REGEXP正则表达式使用大全
- MySQL中使用replace、regexp进行正则表达式替换的用法分析
- MySQL正则表达式-使用REGEXP
- mysql 使用正则表达式查询
- MySQL正则表达式 REGEXP详解
- 使用正则表达式快速修改mysql中错误的varchar类型数据
- MySQL 中的正则表达式运用 REGEXP详解
- Oracle 正则表达式函数-REGEXP_REPLACE 使用例子
- Mysql 正则表达式的使用
- mysql中如何使用正则表达式查询
- MySQL正则表达式 REGEXP详解
- mysql中使用正则表达式查询
- Oracle 正则表达式函数-REGEXP_SUBSTR 使用例子