【发布时间】:2015-05-20 11:12:59
【问题描述】:
我有一个包含 HashMap 的休眠映射实体。
如果我想找到一个实例,其中地图包含一个键/值对,例如 name:John I can write
'name' in indices(attributes) AND 'John' in elements(attributes)
如何修改此 HQL 以允许我使用通配符?例如,我想查找名称以“J”开头的任何实例
【问题讨论】:
我有一个包含 HashMap 的休眠映射实体。
如果我想找到一个实例,其中地图包含一个键/值对,例如 name:John I can write
'name' in indices(attributes) AND 'John' in elements(attributes)
如何修改此 HQL 以允许我使用通配符?例如,我想查找名称以“J”开头的任何实例
【问题讨论】:
您可以使用通配符替换查询中的参数。例如,如果你使用 Hibernate,你的查询应该是这样的:
getSession().createQuery('name' in indices(:index) AND 'John' in elements(:value))
.setString("index","'%" + index + "%'")
.setString("value","'%" + value+ "%'");
【讨论】: