gpt4 book ai didi

jpa - JPQL:无法将字段路径解析为集合类型

转载 作者:行者123 更新时间:2023-12-04 19:07:22 27 4
gpt4 key购买 nike

我正在尝试根据用户可以选择的可能日期列表对日期进行搜索。使用日历,我要求用户输入一个日期,然后我想获取在“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;

其中 DataPossiblePP 是:
@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 本身在它的自动完成中向我建议它。

我如何编写查询以使其编译?

最佳答案

in运算符不能用于集合。它应该用于作为参数传递给查询的值列表,或用于子选择。

您可能正在寻找 member of运算符,它测试某个参数是否是集合的一部分:

select student from Student student where :course member of student.courses

关于jpa - JPQL:无法将字段路径解析为集合类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21232803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com