文档章节

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 + "') ";


© 著作权归作者所有

共有 人打赏支持
小和尚敲代码
粉丝 23
博文 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
839
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
中式流程引擎 UFLO 发布 2.0.4 正式版

中式流程引擎UFLO发2.0.4正式版发布了,更新如下: 在默认的Hibernate5版本中,将依赖的Hibernate版本从5.2.11.Final降为5.1.10.Final以解决运行时控制台出现的Hibernate警告信息 将保存以及...

youseries
2017/10/30
1K
3
Hibernate ORM 5.0 第三个 bug 修复版发布

Hibernate ORM 5.0 第三个 bug 修复版发布,更新如下: Bug * [HHH-1400] - formula-based property leads to generation of invalid SQL with subselect fetches* [HHH-9074] - HQL Query ......

oschina
2015/10/29
1K
9

没有更多内容

加载失败,请刷新页面

加载更多

Flask 开发填坑

插件的选择: flask-security 真的是个鸡肋啊。自带的页面,好丑。还不如用flask-login来做呢。

pearma
20分钟前
0
0
讲述下 :LVM逻辑卷管理遇到的问题

LVM学习逻辑卷管理创建逻辑卷遇到的问题 1 实验环境 系统 内核 发行版本 CentOS 2.6.32-754.2.1.el6.x86_64 CentOS release 6.10 (Final) 由于是最小化安装没有xfs命令,yum安装如下包支持此...

linuxprobe16
55分钟前
0
0
day95-20180922-英语流利阅读-待学习

Hey Jude 半个世纪传唱不衰的背后故事 毛西 2018-09-22 1.今日导读 2004 年,The Beatles 被《滚石》杂志选为“历史上最伟大的 50 位流行音乐家的第一位”。这四名来自英国利物浦的男孩不仅对...

飞鱼说编程
今天
2
0
OSChina 周六乱弹 —— 放假前期焦虑症晚期

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Matteo的单曲《Panama》: 《Panama》- Matteo 手机党少年们想听歌,请使劲儿戳(这里) @新垣吉衣OSC :我发现只要去有小朋友...

小小编辑
今天
206
10
wait()被notify()后,接着执行wait()后面的语句

wait()被notify()后,接着执行wait()后面的语句

noteman
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部