码迷,mamicode.com
首页 > Web开发 > 详细

hibernate

时间:2017-06-20 22:28:42      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:提交   延迟   实例化   事务控制   otf   功能   面向   null   ssi   

GET和load区别:

相同点:都是通过主键值来查询当前条数据;

不同点: 1、get是立即查询,load是延迟查询; get是用或者不用,反正先查询出来; load是用到的时候才去查询数据,不用就不查;

2、如果主键值不存在,get返回null; load返回ObjectNotFoundException异常;

3、load是代理查询,如果没有找到查询的数据,返回一个异常信息;

hibernate中实体bean的状态

1、新建态(瞬时态) 实体对象实例化了,但没有跟session产生任何关系;跟数据库表记录没有任何关系;

2、持久态 : 实体已经被session操作了 ,表示当前实体bean跟数据库表中的行记录一一对应; 只要实体在持久态的状态,任何对实体中属性的改变,hiberante都会认为,你发起了一个update修改命令;

3、游离态(托管态) : session.close()关闭后的实体的状态; 根据数据表的行记录没有关系了。。 

hibernate跟jdbc的区别:

相同点: 都是完成数据持久化功能的;

不同点: 1、jdbc是java语言提供访问数据库的一个规范api; hibernate是一个全自动的orm(对象关系映射)型持久层框架;

2、jdbc事务是自动提交;hibernate中事务是手动提交;

3、hibernate的底层也是jdbc;

4、hibernate的检索方式(hql、qbc)都是面向对象的查询语言,不用写sql语句; hibernate框架会自动把这些查询语言转化成sql语句去执行;

5、hibernate增删查改简洁,强大的缓存提升了hibernate的性能; 扩展作业: 用户表(编号,用户名,密码); 使用jdbc批量插入N条数据; 使用hiberante批量插入N条数据; 注意事务控制, (N条sql)中,让其中两个主键重复;看N个sql是否一起成功,还是部分成功。

hibernate

标签:提交   延迟   实例化   事务控制   otf   功能   面向   null   ssi   

原文地址:http://www.cnblogs.com/ziranfengwei/p/7056240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!