HQL字符串匹配完整的单词?

2 hibernate hql

如何匹配hibernate HQL查询中的完整单词?例如,想象一下在我们的数据库中我们有一个条目"Sam Adams".现在,给定这个HQL片段:

book.character like 'Sam'
Run Code Online (Sandbox Code Playgroud)

我不喜欢"Sam Adams".

但是,如果我将查询更改为:

book.character = 'Sam%'
Run Code Online (Sandbox Code Playgroud)

然后我也匹配"萨曼莎".但是,我不希望这与"Sam"这个词的变体相匹配; 我只想匹配完整的单词"Sam".

(并且,通过扩展,查询'Sam Adams'也可以匹配,因为这是两个完整的单词.)

Mat*_*ger 5

由于HQL直接映射到SQL LIKE功能,而LIKE功能不支持正则表达式,因此您必须具有创造性并执行以下操作:

book.character喜欢'Sam%'或book.character喜欢'%Sam'或book.character喜欢'%Sam%'或book.character ='Sam'

这可能不是确切的语法,但你明白了.如果你没有意识到,这个坏男孩的表现不会令人印象深刻.