我試圖從0123A關係的JPA查詢中獲得結果。我有實體 -無法在JPA查詢中使用「IN」
A.java
@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
@JoinTable(name = "a_tags")
private List<Tag> tags;
然後我嘗試運行下面的查詢 -
Query query2 = entityManager
.createQuery("select s from A s where s.tags IN(:tags)");
query2.setParameter("tags", findTags(keyword));
但我不斷收到以下錯誤java.sql.SQLException: No value specified for parameter 1
。
我以前使用過IN
的條件,但只是爲了檢查集合中的單個對象。
任何指針?
相關信息 -
- 的Hibernate 4.3.5決賽
工作。是因爲'ManyToMany'映射而需要'JOIN'?因爲IIRC,它在'ManyToOne'中不是必需的。 – lazyprogrammer
的確,它是必需的,因爲標籤是一個集合(一對多或多對多)。 –