使用createSQLQuery直接封装成自定义对象
2015-10-29 11:43
537 查看
在query中加上 setResultTransformer(Transformers.aliasToBean(clazz));
这里的clazz表示的是传入的自定义的bean.class ,这里的bean是自己封装的,不需要有映射文件,如果使用query = getSession().createSQLQuery(sql).addEntity(clazz); 需要bean具有映射文件
query = getSession().createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(clazz));
当对象的属性类型与查询出来的字段类型不一致时,可以通过addScalar("smallclass_id", StandardBasicTypes.INTEGER) 这个方法进行设置,第一个参数是字段名称,第二个参数是对象的类型,但是,注意:当使用了addScalar时,所有的查询的字段都需要重新设置类型,否则不设置的字段查询出来值为null,例如:
Query query=getCurrent().createSQLQuery(sql).addScalar("smallclass_id", StandardBasicTypes.INTEGER).addScalar("smallclassrights",StandardBasicTypes.INTEGER).setResultTransformer(new AliasToBeanResultTransformer(SmallClass.class));
封装到SmallClass中的属性只有smallclass_id和smallclassrights两个字段是有值的,如果存在第三个属性,则封装到对象中值为null
这里的clazz表示的是传入的自定义的bean.class ,这里的bean是自己封装的,不需要有映射文件,如果使用query = getSession().createSQLQuery(sql).addEntity(clazz); 需要bean具有映射文件
query = getSession().createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(clazz));
当对象的属性类型与查询出来的字段类型不一致时,可以通过addScalar("smallclass_id", StandardBasicTypes.INTEGER) 这个方法进行设置,第一个参数是字段名称,第二个参数是对象的类型,但是,注意:当使用了addScalar时,所有的查询的字段都需要重新设置类型,否则不设置的字段查询出来值为null,例如:
Query query=getCurrent().createSQLQuery(sql).addScalar("smallclass_id", StandardBasicTypes.INTEGER).addScalar("smallclassrights",StandardBasicTypes.INTEGER).setResultTransformer(new AliasToBeanResultTransformer(SmallClass.class));
封装到SmallClass中的属性只有smallclass_id和smallclassrights两个字段是有值的,如果存在第三个属性,则封装到对象中值为null
相关文章推荐
- 【转】request获取网址
- handler具体用法
- 解决UITableView分割线距左边有距离的办法
- Cloudera Hue 忘记超级用户密码解决方法
- 设置自定义UITableViewCell之间的间距
- IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例
- UIGrid/UITable 性能优化
- WEB-INFO/lib & build path 的jar包问题
- roperties》Java Build Path 下的Libraries显示空白
- KenDoui实现无限级导航菜单
- UITabBarController block
- How-to: resolve "java.io.NotSerializableException" issue during spark reading hbase table
- Android Bluetooth蓝牙开发(二)
- java uuid生成
- CSS3 Media Queries 片段
- 个人笔记 html 01 实现文字滚动 <marquee>
- [96]Unique Binary Search Trees
- TailQueue详解
- 并查集-- HDU - 4263 Red/Blue Spanning Tree
- 【干货】iOS9的新特性UI Tests