2012-06-01 118 views
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; 
    } 

    ,.. 


} 

我和其他實體完全一樣,一切正常。想法?

回答

-1

大概是因爲

.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 

應添加到您的查詢,但是這已經回答了像這個論壇已經

一千倍