繁体   English   中英

dot“。”使用hibernate进行不敏感搜索?

[英]dot “.” insensitive search using hibernate?

我知道以下方法对字符串进行不区分大小写的搜索

criterion.add(Restrictions.eq("email", email).ignoreCase());

有办法做“。” 不敏感的搜索,即它将忽略在被比较的两个字符串中的任何一个中出现的任何点。

我不想获取电子邮件并在循环中进行比较。

我认为你的意思是在Hibernate中使用正则表达式,但不幸的是,在hibernate文档中没有用于执行正则表达式查询(使用HQL或Criteria查询)。 使用sqlRestrictions的方法可能应该更改为其中一个重载方法,如下所示

Restrictions.sqlRestriction("regexp_like({alias}.NODE_1, ?)", re, Hibernate.STRING)

看看它是否适合你。 希望它会有所帮助。 如果您需要任何帮助,请告诉我

我认为最好的方法是将标准化的电子邮件(没有点)与原始电子邮件一起存储然后对给定的电子邮件进行标准化,然后通过它进行搜索

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM