4
我試圖根據用戶可以從中選擇的可能日期列表進行搜索。通過日曆,我要求用戶輸入一個日期,然後我想要在「data_possibile」列表中獲得所有可能的包。JPQL:字段路徑無法解析爲集合類型
這是我使用的查詢:
@NamedQuery(name="pacchettoPreconfigurato.findVendibileByData", query="SELECT p FROM PacchettoPreconfigurato p WHERE p.in_vendita=TRUE AND (:data) IN (p.date_possibili)")
現在,當我嘗試部署在我得到的服務器日誌的應用程序:
Exception Description: Problem compiling [SELECT p FROM PacchettoPreconfigurato p WHERE p.in_vendita=TRUE AND (:data) IN (p.date_possibili)]. [81, 97] The state field path 'p.date_possibili' cannot be resolved to a collection type.
這是怎麼頁。 date_possibili定義:
@OneToMany(orphanRemoval=true)
@JoinColumn(name="id_pp")
private List<DataPossibilePP> date_possibili;
其中DataPossibilePP是:
@Entity
@IdClass(DataPossibilePPPK.class)
public class DataPossibilePP implements Serializable {
@Id
private Integer id_pp;
@Id
private Date data;
private static final long serialVersionUID = 1L;
/*standard getters and setters*/
}
我不明白爲什麼我被告知該字段不是一個集合,即使它被定義爲一個列表,並且Eclipse本身在其自動完成中將它指示給我。
我該如何編寫查詢以便編譯?
謝謝,我應該檢查該操作員。 我發現了一個使用子查詢的替代解決方案,但是您向我展示的操作符絕對是一個更清晰的選項。我會更新我的代碼!謝謝! – GPhilo
+1非常有用的答案。謝謝。 –