Cardinfo.java [POJO]private Long cardid; private Userinfo userinfo; private Cardownerinfo cardownerinfo; private String cardname; private String phonenum; private String cardstate; private Date regdate; private Long addons; private String otherinfo;
hql:
sb
.append("select new com.telezone.hqllist.CardinfoList( cinfo.cardid ,cinfo.cardname , oinfo.ownername ,uinfo.username , cinfo.phonenum,cinfo.cardstate,cinfo.regdate,cinfo.otherinfo ) from Cardinfo as cinfo left join cinfo.cardownerinfo as oinfo left join cinfo.userinfo as uinfo");
queryObject = session.createQuery(sb.toString());
其中com.telezone.hqllist下放的都是多表查询时,需要返回的字段,一个多表查询对应一个类
这样的类应该是属于JavaBean而不是POJO对象吧?请问大家是如何处理这样的查询的?
应该这样返回的List,在Struts里面可以直接使用,不需要转换,就可以传到页面上了
hql:
sb
.append("select new com.telezone.hqllist.CardinfoList( cinfo.cardid ,cinfo.cardname , oinfo.ownername ,uinfo.username , cinfo.phonenum,cinfo.cardstate,cinfo.regdate,cinfo.otherinfo ) from Cardinfo as cinfo left join cinfo.cardownerinfo as oinfo left join cinfo.userinfo as uinfo");
queryObject = session.createQuery(sb.toString());
其中com.telezone.hqllist下放的都是多表查询时,需要返回的字段,一个多表查询对应一个类
这样的类应该是属于JavaBean而不是POJO对象吧?请问大家是如何处理这样的查询的?
应该这样返回的List,在Struts里面可以直接使用,不需要转换,就可以传到页面上了
这时,List的每一属性都是一个对象,通过 Members members = (Members) tuple[ 0 ]转换类型。2、构造自己的复合类型,如下:
Query q = session.createQuery(" select new NewMembers(members, classInfo.className) " + " from Members members, ClassInfo classInfo " + " where members.level = classInfo.classCode "); 这是需要相应的NewMembers类和构造方法。
而是报错了错误