【发布时间】:2014-01-20 11:27:23
【问题描述】:
我正在尝试根据用户可以选择的可能日期列表来搜索日期。使用日历,我要求用户输入一个日期,然后我想在他们的“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 本身在其自动完成中建议我使用它。
如何编写查询以使其编译?
【问题讨论】: