mysql hibernate的sql查询怎么返回实体类
1个回答
展开全部
[java] view plain copy
sql为select a.*, b.id as childId, b.childName from a,b where a.id = b.id
当遇到Column '*' not found找不到的时候,首先检查该字段是否存在,如果存在还有这个错误,有两种解决办法
第一种:有可能是你的*字段取了别名,那么在查询的时候一定要指定改别名的类型,为已经存在的别名指定数据类型。只需要为最外层的有别名的字段指定类型即可。代码如下:
[java] view plain copy
SQLQuery query = session.createSQLQuery(sql).addScalar("别名", Hibernate.INTEGER);//指定别名的数据类型//多个别名可以连续写多个如:session.createSQLQuery(sql).addScalar("别名", Hibernate.INTEGER).addScalar("别名1",Hibernate.INTEGER);
sql为select a.*, b.id as childId, b.childName from a,b where a.id = b.id
当遇到Column '*' not found找不到的时候,首先检查该字段是否存在,如果存在还有这个错误,有两种解决办法
第一种:有可能是你的*字段取了别名,那么在查询的时候一定要指定改别名的类型,为已经存在的别名指定数据类型。只需要为最外层的有别名的字段指定类型即可。代码如下:
[java] view plain copy
SQLQuery query = session.createSQLQuery(sql).addScalar("别名", Hibernate.INTEGER);//指定别名的数据类型//多个别名可以连续写多个如:session.createSQLQuery(sql).addScalar("别名", Hibernate.INTEGER).addScalar("别名1",Hibernate.INTEGER);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |