文档章节

Hibernate Bug

小和尚敲代码
 小和尚敲代码
发布于 2016/01/30 19:20
字数 417
阅读 113
收藏 3

Hibernate对于用原生的Sql查询有bug,当使用sql语句查询时,要注意进行标量查询或者是实体查询(SQLQuery)query.addEntity(Entity.Class)  ,但是有时候即使是配置了实体的id,也即表的主键,也会发生错误Column notFound ‘’id“   ;所以不建议使用原生sql语句在hibernate中;


hql查询单表部分字段:

在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况:

1.查询全部字段的情况下,如"from 实体类",list中封装的对象为实体类本身,各属性都将得到填充。

2.只查询一个字段,默认情况下,list中封装的是Object对象。

3.查询两个或两个以上的字段,默认情况下,list中封装的是Object[],长度与所查询的字段数一致。

对于后两种情况,用标签遍历时不太方便,因为无法直接转换成实体类的对象。比较简单的解决方法是:

在hql中使用 select new 包名.类名(属性1,属性2……) from实体类,同时在实体类中添加带参的构造方法,参数的个数和顺序与(属性1,属性2……)保持一致,这样我们得到的list中存放的依然是实体类的 对象,所查询到的属性得到了填充,使用起来更为方便。


附hql查询多表语句:

String hql = "select new 
Book(book.book_name,book.book_pic,book.book_author,book.book_translator,book.publish_info)
 from Bookuse as bookuse,Book as book where bookuse.book_id_fk = 
book.book_id and bookuse.bookuser_id_fk in (select user.user_id from 
User as user where user.useraccount = '"
                + obj + "') ";


© 著作权归作者所有

共有 人打赏支持
小和尚敲代码
粉丝 24
博文 86
码字总数 28687
作品 0
南昌
程序员
私信 提问
Hibernate ORM 4.3.6.Final 和 4.2.15.Final 发布

Hibernate ORM 4.3.6.Final 和 4.2.15.Final 发布,改进记录: 4.3.6.Final: HHH-8818 fixed a regression introduced in 4.3.0.Final causing Hibernate to not be able to find the JNDI D......

红薯
2014/07/19
1K
5
Hibernate ORM 4.2.20.Final 发布

Hibernate ORM 4.2.20.Final 在7月24日就已经发布了,但是因为 SourceForge 网站的问题导致文件无法上传。该版本详细的改进请看 https://hibernate.atlassian.net/jira/secure/ReleaseNote....

红薯
2015/08/08
875
1
Hibernate ORM 5.2 的第 12 个 Bug 修复版本发布

Hibernate ORM 5.2 的第 12 个 Bug 修复版本发布了,该版本主要是 Bug 修复,下面是修复的 Bug 列表: tag is here; changes are listed here (or, for people without a Hibernate Jira ac...

红薯
2017/10/21
1K
4
Hibernate OGM 4.2 Final 发布

Hibernate OGM 4.2 Final 发布,此版本相比 4.1.Final 版本,更新内容如下: API for retrieving all executed and failed datastore operations, preview for Apache Cassandra support, F......

叶秀兰
2015/06/03
710
1
Hibernate ORM 4.3.1.Final 发布

Hibernate ORM 4.3.1.Final 发布,此版本是第一个 Hibernate ORM 4.3 的 bug 修复版本。 主要修复了4.3中的一些bug,也做了如下一些改善: HHH-5289 : Improved performance of reflection ...

NinjaSquid
2014/01/23
2.9K
16

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
8
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
3
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部