LIKE在HQL中查询实体中Map ElementCollection的值

时间:2015-09-03 18:21:32

标签: orm hql sql-like

我有一个名为«Form»的实体,其中包含(键/值)=(语言代码/翻译)的地图«详细信息»:

@Query("SELECT f FROM Form f JOIN f.details d WHERE KEY(d) = :language AND :search IN elements(d) ")

: }

我想检索所有包含(!)«xxx»的翻译的表格记录。

以下子句检索«Form»,其中地图包含一个«value»,其值恰好等于搜索流。但我想申请一个LIKE条件。

InvariantCulture

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在SQL中,%LIKE运算符中使用的通配符。您的查询类似于:

@Query("SELECT f FROM Form f JOIN f.details d 
WHERE KEY(d) = :language 
AND VALUE(d) LIKE '%' + :search + '%'") 

如果这不起作用,您可能需要将%追加到变量的开头和结尾:search