【问题标题】:Regex query in HibernateHibernate 中的正则表达式查询
【发布时间】:2011-04-29 12:03:53
【问题描述】:

我想在Hibernate中实现以下查询的效果,但是我想不出办法。

select e.TITLE from EVENTS e where e.TITLE REGEXP 'fri|pro';

有人可以帮忙吗?

【问题讨论】:

    标签: java mysql hibernate


    【解决方案1】:

    Hibernate QL 不支持正则表达式(有些引擎对正则表达式的支持很差)。 您可以将查询转换为

    select e.TITLE from EVENTS e where (e.TITLE = 'fri' OR e.TITLE = 'pro');
    

    select e.TITLE from EVENTS e where e.TITLE in ('fri','pro');
    

    但是对于真正的正则表达式支持,您必须编写自定义 SQL(如果您的数据库确实支持正则表达式)

    【讨论】:

    • 谢谢,但我的列中的值将类似于“fripro”( 只是分隔符)。我该如何解决这个问题?
    • select e.TITLE from EVENTS e where e.TITLE like 'fri%pro' OR e.TITLE like '%fri%' OR e.TITLE like '%pro%' 选择你更喜欢的“喜欢” :-) 即哪一个符合你的条件,因为它们还不清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 2019-08-20
    • 2015-12-20
    • 2011-05-05
    • 2021-06-09
    相关资源
    最近更新 更多