1. 程式人生 > >hibernate 使用普通sql查詢,對映到自定義pojo中

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); 
     
通過此方法進行型別指定