1

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

    ,..


}

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

4

1 回答 1

-1

大概是因为

.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

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

于 2012-06-01T11:50:19.057 回答