我有一个实体如下:
public class Foo {
private List<String> bars;
@ElementCollection(fetch=FetchType.LAZY)
@CollectionTable(name="T_BARS", joinColumns=@JoinColumn(name = "ID"))
@Column(name="BAR")
public List<String> getBars() {
return bars;
}
}
现在我正在尝试查询包含 id 为“a”、“b”或“c”的 bar 元素的所有元素 foo,但我无法使其工作。
我尝试了以下两种方法:
select from FOO as f where f.bars in elements
(select b.id from T_BARS as b where b.bar in elements('a','b','c'))
这会产生 QuerySyntaxException: T_BARS not mapped
我的第二种方法如下:
select from FOO as f where elements('a','b','c') in elements(f.bars)
这会产生一个 QuerySyntaxException 意外标记
编辑:我正在使用 envers,所以连接似乎不可能!?