hql=“SELECT a.a1,a.a2,b.b1,b.b2 LEFT JOIN A a,B b ON a.a1 = b.b1”;
Session session=HibernateSessionFactory.getSession();
Query query = session.createSQLQuery(hql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List list = query.list();
List<UnionObj> uinList = new ArrayList<UnionObj>();
for(Object o : list){
UnionObj uin = new UnionObj();
Map map = (Map) o;
uin.setA1(map.get(a1));
uin.setA2(map.get(a2));
uin.setB1(map.get(b1));
uin.setB2(map.get(b2));
uinList.add(uin);
}
实体类:
public class UnionObj{
private String a1;
private String a2;
private String b1;
private String b2;
}
以上方法就能把多张不相关的表中部分或全部字段封装到一个实体类中,这个实体类并不需要hbm映射文件