在 new bean()中,对象里要有其构造方法,查询参数必须是构造方法中的参数,get set也要同步
类似于 String hql= "select new A(a.id, a.name, a.pass, a.bid,b.name) from A a,B b where a.bid=b.id"
class A{
public A(int id,string name,string pass,int bid, string name){...}
}
//查询整个实体类和关联表中的名称使可使用:
select a,b.name from A a,B b where a.bid=b.bid 但查询出来的不能转换成对象a,外键的字段没有列名
本人感觉之所以用new 对象查询应该是为了查询出来可以直接实例成对象。
查询时如果碰到 表名.列名(a.Name)报异常说是name在A表中不存在,可能就是列名写的不对(可写成a.name试试)