【发布时间】:2015-04-24 16:25:18
【问题描述】:
如何使用 JPQL 通过 ElementCollection 查询 JPA 实体,其中 ElementCollection 包含给定元素集中的所有元素?
例如,如果一个 Node 实体定义了一个 ElementCollection 的 'attributes'
@ElementCollection(fetch=FetchType.EAGER)
@CollectionTable(name="node_attributes", joinColumns=@JoinColumn(name="node_name"))
@MapKeyColumn(name="name")
@Column(name="value")
Map<String, String> attributes = new HashMap<String, String>();
我想查找具有一组给定属性的所有节点实体。我尝试了以下方法,希望“会员”支持收藏。
"SELECT n FROM Node n WHERE :attributes MEMBER OF n.attributes"
此查询始终返回一个空列表。此用例是否可以使用简单的 JPQL 查询?
【问题讨论】: