Hibernate Criteria Transformers.aliasToBean未填充正确的值
我试图通过加入实体类来创建BOHibernate Criteria Transformers.aliasToBean未填充正确的值,hibernate,hibernate-criteria,Hibernate,Hibernate Criteria,我试图通过加入实体类来创建BO Criteria criteria = session.createCriteria(Report.class,"r"); criteria .createAlias("template", "t") .createAlias("constituents", "rc") .createAlias("rc.entity", "pe") .createAlias("pe.model", "m") .createAlias
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个空BO,即所有属性均为空
我的博客如下
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行并迭代对象[]时,我可以看到获取的正确值
请指导我…尝试显式地为
项目列表
项添加别名,以匹配bean中的字段名,如下所示:
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));