2016-03-31 16 views
0

Hazırda bekletme modunu nasıl kullanacağını bilen biri var mı ResultTransformer? Varlığı dto'ya dönüştürmek istiyorum. Bu benim kodumAliasToBeanResultTransformer'ın transformList yöntemi nasıl kullanılır?

Bu, Person to PersonDto öğelerini atamayan bir classCastException atar.

Ek soru: Bu kod çalışıyor, ancak yukarıdaki kod neden olmasın? Sadece varlıkları dönüştürmek istiyorsanız

Criteria criteria = session.createCriteria(Person.class); 
List<PersonDto> personDtos = criteria.list(); 

cevap

0

belki transformList

kullanmanın dozer gibi alet http://dozer.sourceforge.net/documentation/usage.html

Örnek kullanmalıdır

Query query = session.createQuery("" 
        + "Select DISTINCT VP.versionId as parent from VersionData VP " 
        + "INNER JOIN VP.zvitId ZP " 
        + "INNER JOIN ZP.childrens CH " 
        + "INNER JOIN CH.versions CP " 
        + "where CP.zvitId.zvitId = :idList and VP.dend IS NULL" 
        ) 
        .setParameter("idList", id) 
        .setResultTransformer(Transformers.aliasToBean(ParentIdList.class)); 
      @SuppressWarnings("unchecked") 
      List<ParentIdList> result = query.list(); 

Veli IdList sorgunun değerlerini dönen aynı özellik adı vardır genel sınıf ParentIdList { özel String parent;

/** 
    * @return the parents 
    */ 
    public String getParent() 
    { 
     return parent; 
    } 

    /** 
    * @param parents the parents to set 
    */ 
    public void setParent(String parents) 
    { 
     this.parent = parents; 
    } 
    //getters, setters, hashcode, equals 
} 
İlgili konular