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

	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);  
通过此方法进行类型指定

猜你喜欢

转载自blog.csdn.net/woaiqianzhige/article/details/80322775