Java MySQL听起来像是要休眠的查询

Java MySQL听起来像是要休眠的查询,java,mysql,hibernate,Java,Mysql,Hibernate,我不熟悉Hibernate,有没有办法将以下MySQL查询转换为HQL或Criteria查询: SELECT * FROM items WHERE itemname SOUNDS LIKE 'some name' 如果没有,是否有任何变通方法可以使用Hibernate实现类似的功能?您可以使用。在您的情况下,只需: sess.createSQLQuery ("SELECT * FROM items WHERE itemname SOUNDS LIKE 'some name'").lis

我不熟悉Hibernate,有没有办法将以下MySQL查询转换为HQL或Criteria查询:

SELECT * FROM items WHERE itemname SOUNDS LIKE 'some name'
如果没有,是否有任何变通方法可以使用Hibernate实现类似的功能?

您可以使用。在您的情况下,只需:

sess.createSQLQuery
    ("SELECT * FROM items WHERE itemname SOUNDS LIKE 'some name'").list();
发件人:

expr1听起来像expr2

这与SOUNDEX(expr1)=SOUNDEX(expr2)相同

而且,
soundex
似乎受支持。这样做:

SELECT * FROM items WHERE soundex(itemname) = soundex('some name')
或者在HQL中

Query q = session.createQuery
   ("from items  e where soundex(e.itemname)  =  soundex('%some name%') ");

应该可以工作。

这也可以,我相信这将是一个比用SQL编写更好的解决方案