hibernate 使用普通sql查询,映射到自定义pojo中

本文介绍了一种使用SQL查询结合别名映射至Java POJO对象的方法,重点讲解了如何利用Hibernate的Transformers.aliasToBean方法实现数据库查询结果到自定义对象的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	public List<InsuranceRecordVo> getCustomRecodeListByCustomId2(String customId){
		String sql="select  b.product_name as companyName, a.create_date as date from ******* where customer_id =  ? ";
		Query query = this.createSqlQuery(sql, customId);
		query.setResultTransformer(Transformers.aliasToBean(InsuranceRecordVo.class));
		return  query.list();
	

参见上面,需要将查询的两个字段映射到pojo中,关键使用

query.setResultTransformer(Transformers.aliasToBean(InsuranceRecordVo.class));

或者

  1. query.setResultTransformer(new AliasToBeanResultTransformer(InsutanceRecordVo.class));  

进行映射,前提时查询出的字段使用as 别名,将字段名和pojo中字段名保持一致,并且类型对应,query.list()查询出的即为封装好的pojo。

并且在必要情况下可以通过

  1. query.addScalar("componeName", Hibernate.STRING);  
通过此方法进行类型指定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值