关于Hibernate在使用原生SQL语句多表查询所遇到的问题
来源:互联网 发布:html5 720度全景源码 编辑:程序博客网 时间:2024/05/16 00:41
今天早上想实现商品的分类功能时,使用的是原生SQL语句中的多表查询语法,遇到的问题:
- 1、写好SQL语句后,调用createQuery(hql)方法是出现 org.hibernate.hql.internal.ast.QuerySyntaxException异常,该异常信息是映射文件的字段与数据库字段不一致,或者名称不一致导致;
public List<ClothesType> findClothesType(int categoryId) { String hql="select c.id,c.nameType from ClothesType as c join RelationPro as r on c.id=r.clotherstypeId where r.categoryId=1"; Query query=getSession().createQuery(hql); //query.setInteger(0, categoryId); @SuppressWarnings("unchecked") List<ClothesType> list = query.list(); System.out.println(list.get(0).getNameType()); System.out.println("hhhhhhhhhh"+list.size()); return list; }
最后修改为createSQLQuery(hql)才成功;
public List<ClothesType> findClothesType(int categoryId) { String hql="select c.id,c.nameType from ClothesType as c join RelationPro as r on c.id=r.clotherstypeId where r.categoryId=1"; Query query=getSession().createSQLQuery(hql).addEntity(ClothesType.class); //query.setInteger(0, categoryId); @SuppressWarnings("unchecked") List<ClothesType> list = query.list(); System.out.println(list.get(0).getNameType()); System.out.println("hhhhhhhhhh"+list.size()); return list; }
备注:如果没有在createSQLQuery()后调用addEntity(ClothesType.class);方法,查出来的结果集与对象字段不对应
0 0
- 关于Hibernate在使用原生SQL语句多表查询所遇到的问题
- Hibernate原生SQL查询多表关联,SQL语句要注意的问题
- Hibernate原生SQL查询多表关联,SQL语句要注意的问题
- Hibernate中使用原生的sql语句进行查询操作
- hibernate使用原生sql查询Hibernate原生SQL多表查询字段名重复问题以及解决方法
- 使用Hibernate 5.0、4.0、3.0 createSQLQuery执行原生Sql语句 遇到问题及解决办法集锦
- Hibernate的HQL查询及原生sql查询语句写法
- Hibernate在SQL语句中遇到的三个问题
- Hibernate原生SQL多表查询字段名重复问题
- Hibernate使用原生SQL语句
- Hibernate使用原生SQL语句
- Hibernate书写原生SQL语句查询(用于复杂多表查询)
- Hibernate的原生SQL查询
- Hibernate的原生SQL查询
- hibernate的原生 sql查询
- hibernate开发中使用原生语句查询
- 关于在myeclipse中使用Hibernate遇到的问题
- Hibernate中多表联合查询遇到的问题(原生态的SQL语句解决办法)
- react-native android环境搭建
- 群聊服务——代理模式OR适配器模式
- Centos 7.2 安装jdk1.6 tomcat6 mysql5.5
- iOS开发过程中的一些小技巧,绝对有你想要的
- C实例---插入排序(Shell)
- 关于Hibernate在使用原生SQL语句多表查询所遇到的问题
- Hadoop深入学习:Combiner
- OpenGL学习中对示例代码分析所得
- 设计模式六大原则(4):接口隔离原则
- MC8051中XBYTE的使用
- BZOJ 1379 模拟退火
- osg开关门
- 流量矿石功能升级,充分发挥快播“匠心”精神
- 设计模式六大原则(5):迪米特法则