私は Hibernate を初めて使用します。次の MySQL クエリを HQL または Criteria クエリに変換する方法はありますか?
SELECT * FROM items WHERE itemname SOUNDS LIKE 'some name'
そうでない場合、Hibernate を使用して同様の機能を実装するための回避策はありますか?
mysqlドキュメントから:
expr1 は expr2 のように聞こえる
これは、SOUNDEX(expr1) = SOUNDEX(expr2) と同じです。
MySQLDialectで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を使用できます。あなたの場合、単に:
sess.createSQLQuery
("SELECT * FROM items WHERE itemname SOUNDS LIKE 'some name'").list();