5.oracle查询的结果绑定到实体类中

1.通常使用.getHibernateSession().createSQLQuery().list();获取查询结果。有时候处理这些结果比较麻烦,那我们可以把结果映射到实体类中,页面上再使用EL表达式获取值比较方便。

返回的结果集为list数组List<Object[]>,如何把Object[]中的参数对应绑定到实体类中?

1.addEntity(Class)

getHibernateSession().createSQLQuery().addEntity(Class)
 

2.setResultTransformer()

.getHibernateSession().createSQLQuery().setResultTransformer(Transformers.aliasToBean(实体类.class)).list();

注意:

1.如果数据库字段和实体类属性名称不一致,则需要使用别名根实体类属性一一对应。

2.同时别名需要双引号。

3.注意查询的结果字段需要和实体类一一对应,意思就是sql查询到的字段而实体类中没有该属性。

例如:

String sql = " select fd_id \"fdId\",fd_name \"fdName\" from test";


class Demo{

    private String fdId;

    private String fdName;

    private String fdAge;

    //省略getter,setter

}


Service:

.getHibernateSession().createSQLQuery().setResultTransformer(Transformers.aliasToBean(Demo.class)).list();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值