我将尝试根据用户可以选择的一系列日期来搜索日期。通过一个日历,我要求用户输入一个日期,然后我想获取所有可能包含该日期在其“data_possibile”列表中的数据包。
这是我使用的查询:
现在,当我尝试在服务器上部署应用程序时,在日志中出现以下信息:
这是我使用的查询:
@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.
这是 p.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在其自动完成中建议了它。
如何编写查询以使其编译通过?