gpt4 book ai didi

java - EntityManager.getResultList() 中的重复结果

转载 作者:行者123 更新时间:2023-12-01 06:20:09 26 4
gpt4 key购买 nike

当我将此 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;
}

,..


}

我对其他实体做了完全相同的事情,一切正常。有想法吗?

最佳答案

可能是因为

.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

应该添加到您的查询中,但这已经在这个论坛上被回答了一千次

关于java - EntityManager.getResultList() 中的重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846706/

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