带元素/索引的HQL通配符

时间:2015-03-17 20:24:49

标签: java hibernate hql

我有一个包含HashMap的hibernate映射实体。

如果我想找一个地图包含一个键/值对的实例,比如名字:John我可以写

'name' in indices(attributes) AND 'John' in elements(attributes)

如何修改此HQL以允许我使用通配符?我想找到名称以' J'开头的任何实例。例如

1 个答案:

答案 0 :(得分:0)

您可以使用通配符替换查询中的参数。例如,如果您使用的是Hibernate,则查询应该类似于:

   getSession().createQuery('name' in indices(:index) AND 'John' in elements(:value))
   .setString("index","'%" + index + "%'")
   .setString("value","'%" + value+ "%'");