当我将此HQL查询发送到MySQL ddbb
时public List<EscaleCatalogueKaravel> obtenirListeEscalesCroisiereAvecIdCroisiereKaravel(Integer idCroisiereKaravel, Integer refLangue) {
List<EscaleCatalogueKaravel> listeEscales = entityManager.createQuery("select p from EscaleCatalogueKaravel p " +
"where p.idCroisiereComplete=:idCroisiereComplete and p.refLangue=:refLangue")
.setParameter("idCroisiereComplete", idCroisiereKaravel)
.setParameter("refLangue", refLangue)
.getResultList();
return listeEscales;
}
我得到了正确数量的结果,尽管它们都是相同的。但是,如果我手动查询ddbb(日志中显示的查询),结果集是正确的。
另外,如果我用“p”替换实体中的字段名称,结果是正确的(但结果集中没有属性名称,只有索引)
这是我的实体
@Entity
@Table(name="view_croisiereitineraire")
public class EscaleCatalogueKaravel implements Serializable {
@Id
@Column(name="idCroisiereComplete")
private Integer idCroisiereComplete;
@Column(name="idEscale")
private Integer idEscale;
@Column(name="nomEscale")
private String nomEscale;
@Column(name="refMarche")
private Integer refMarche;
@Column(name="refLangue")
private Integer refLangue;
public Integer getIdCroisiereComplete() {
return idCroisiereComplete;
}
,..
}
我和其他实体完全一样,一切正常。想法?
答案 0 :(得分:-1)
可能是因为
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
应该添加到您的查询中,但已经在此论坛上已经回答了一千次