在查询多个表时,而输出的内容又是零散来自于不同的表,用sql语句的情况下还要返回的是一个VO封装的对象。
表:
CREATE TABLE tab1( id int primary key, name varchar,);CREATE TABLE tab2( id int primary key, money BigDecimal, descri varchar,);
?VO:
public class TestVo{ private String name; private String descript; private String money ; ......getter....setter}
?
SQL: 别名要对应TestVo的属性名,还要getter,setter方法
SELECT t1.name name, t2.descri descript , t2.money money FROM tab1 t1 , tab2 t2WHERE t1.id = t2.id
? SQLQuery:
SQLQuery q = this.getSession().createSQLQuery(sql) .addScalar("name",Hibernate.STRING) .addScalar("descript",Hibernate.STRING) .addScalar("money ",Hibernate.BIG_DECIMAL);List<TestVo> tvs = (List<TestVo>)q .setResultTransformer(Transformers.aliasToBean(TestVo.class)) .list();
??http://android1.blogcn.com/