2011-09-27 14 views
5

मैं अपने इकाई वर्गोंहाइबरनेट मानदंड Transformers.aliasToBean सही मान

Criteria criteria = session.createCriteria(Report.class,"r"); 
    criteria 
    .createAlias("template", "t") 
    .createAlias("constituents", "rc") 
    .createAlias("rc.entity", "pe") 
    .createAlias("pe.model", "m") 
    .createAlias("pe.scenario", "s") 
    .setProjection(Projections.projectionList() 
      .add(Projections.property("r.Id"))   
      .add(Projections.property("t.Typ"))     
      .add(Projections.property("pe.bId"))    
      .add(Projections.property("m.model"))    
      .add(Projections.property("s.decay")) 
    ).setMaxResults(100) 
    .addOrder(Order.asc("r.Id")) 
    .setResultTransformer(Transformers.aliasToBean(BO.class)); 

मैं सभी गुण यानी 100 खाली बो हो रही है अशक्त मेरे बो के रूप में

इस प्रकार हैं में शामिल होने से बो बनाने के लिए कोशिश कर रहा हूँ पॉप्युलेट नहीं है
public class BO implements Serializable { 

private static final long serialVersionUID = 1L; 
private int Id; 
private String Typ; 
private String bId; 
private String model; 
private String decay; 

    Getters and Setters 

.....

जब मैं लाइन aliasToBean हटाने और वस्तु से अधिक पुनरावृति [] मैं देख सकता सही मान ०१२३५१६४१०६१ दिलवायाकृपया मुझे गाइड ...

उत्तर

14

स्पष्ट ProjectionList आइटम सेम में क्षेत्र नाम से मेल करने aliasing का प्रयास करें, इस प्रकार है:

Criteria criteria = session.createCriteria(Report.class,"r"); 
criteria 
.createAlias("template", "t") 
.createAlias("constituents", "rc") 
.createAlias("rc.entity", "pe") 
.createAlias("pe.model", "m") 
.createAlias("pe.scenario", "s") 
.setProjection(Projections.projectionList() 
     .add(Projections.property("r.Id"), "Id")   
     .add(Projections.property("t.Typ"), "Typ")     
     .add(Projections.property("pe.bId"), "bId")    
     .add(Projections.property("m.model"), "model")    
     .add(Projections.property("s.decay"), "decay") 
).setMaxResults(100) 
.addOrder(Order.asc("r.Id")) 
.setResultTransformer(Transformers.aliasToBean(BO.class)); 
संबंधित मुद्दे