我有这样的:JPQL查询集合
@ManyToOne(fetch=FetchType.LAZY)
@Required
@NoFrame
@JoinColumn(name="plaga_id")
@DescriptionsList
private PlagaOEnfermedad plaga;
@Required
@ManyToOne(fetch=FetchType.LAZY)
@DescriptionsList(depends="this.plaga", condition="",
descriptionProperties="nombreCientifico")
private InsectoAuxiliar auxiliar;
这表明附配是InsectoAuxiliar.nombreCientififico组合的内容。另外,“depends”表示这个组合内容将加载到另一个组合选择事件(另一个是“plaga”)。
的问题是,我不知道如何生成的条件,考虑到InsectoAuxiliar包含此:
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="insectos_plagas",
joinColumns={@JoinColumn(name="auxiliar_id",referencedColumnName="nombreCientifico")},
inverseJoinColumns={@JoinColumn(name="plaga_id",referencedColumnName="nombre")},
[email protected](columnNames = { "plaga_id", "auxiliar_id" }))
private Collection<PlagaOEnfermedad> plagasAplicables;
我要筛选我的组合取决于“plagasAplicables.nombre”。问题是,我应该如何编写JPQL查询以使用Collection ?.在descriptionList(组合)“条件”表示后“WHERE”在JPQL,但不知道怎么写呢?
例如,从其他的问题,我曾经尝试这样一句话:
@ DescriptionsList(取决于= “this.plaga”,条件=, “成员e.plagasAplicables.nombre吗?”)
但我得到这个错误:
产生的原因:org.hibernate.QueryException:非法的意图,使用元素属性引用[nombre]取消引用集合[insectoaux0_.nombreCientifico.plagasAplicables] [SELECT e.no mbreCientifico,e.nombreCientifico,e.nombreCientifico从org.openxava.recetas.model.InsectoAuxiliar e其中:e.plagasAplicables.nombre的P0会员]
任何帮助将非常感激......
谢谢前进,
何塞。