0
可能重複:
How to write JPA query where parameter is a set?Quering取決於兒童ID
我有2個實體
@Entity
public class Container {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
Set<Child> data = newHashSet();
}
@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
}
現在我想選擇一個包含指定孩子的所有容器。 我寫了JPA查詢select c from Container c where :child in c.data
產生SQL
select
container0_.id as id4_
from
Container container0_
cross join Container_Child data1_, Child child2_
where
container0_.id=data1_.Container_id
and data1_.data_id=child2_.id
and (? in (.))
limit ? [42001-168]
和失敗,JdbcSQLException
。我該如何解決它?
oops!忽略我的評論。 – Vikdor
http://stackoverflow.com/questions/3492018/how-to-write-jpa-query-where-parameter-is-a-set - 不是你的問題一樣嗎? – MrKiller21
嘗試:SELECT con FROM容器con JOIN con.data ch WHERE ch =:子 –