随笔分类 -  hibernate基础

摘要:为什么需要缓存?看一个案例:->原理图从上图看出: 当我们去查询对象的时候,首先到一级缓存去取数据,如果有,则不到数据库中取,如果没有则到数据库中取,同时在一级缓存中放入对象.一级缓存的细节① 什么操作会向一级缓存 放入数据save,update,saveOrUpdate,load,get,list,iterate,locksave 案例: //添加一个学生 Student student=new Student(); student.setName("小东"); s.save(student);//放入一级缓存 //我马上查询 Student stu2=(Stude 阅读全文
posted @ 2013-03-19 00:22 九果子 阅读(247) 评论(0) 推荐(0)
摘要:本地事务:针对一个数据库的事务全局事务:跨数据库的事务(jta)全局事务控制:事务回滚时,多个数据库一起回滚 阅读全文
posted @ 2013-03-11 23:32 九果子 阅读(310) 评论(0) 推荐(0)
摘要:通过SessionFactory获取 Session的两个方法 openSession() 一个 getCurrentSession();1.openSession() 是获取一个新的session2.getCurrentSession () 获取和当前线程绑定的session,换言之,在同一个线程中,我们获取的session是同一session,这样可以利于事务控制如果希望使用getCurrentSession 需要配置 hibernate.cfg.xml中配置.3.如何选择原则: ①如果需要在同一线程中,保证使用同一个Session则,使用getCurrentSession() ②如果在一 阅读全文
posted @ 2013-03-11 23:28 九果子 阅读(594) 评论(0) 推荐(0)
摘要:hibernate的核心类和接口Configuration 类它的用处是:1.读取hibernate.cfg.xml2.管理对象关系映射文件 <mapping resource=””>3.加载hibernate 的驱动,url ,用户..4.管理hibernate配置信息SessionFactory 接口(会话工厂)1.可以缓存sql语句和数据(称为session级缓存)!!2.是一个重量级的类,因此我们需要保证一个数据库,有一个SessionFactroysession接口它的主要功能和作用是:1.Session一个实例代表与数据库的一次操作(当然一次操作可以是crud组合)2. 阅读全文
posted @ 2013-03-11 23:26 九果子 阅读(585) 评论(0) 推荐(0)
摘要:1. 如果查询不到数据,get 会返回 null,但是不会报错, load 如果查询不到数据,则报错ObjectNotFoundException2.使用get 去查询数据,(先到一级/二级)会立即向db发出查询请求(select ...), 如果你使用的是 load查询数据,(先到一级、二级))即使查询到对象,返回的是一个代理对象,如果后面没有使用查询结果,它不会真的向数据库发select ,当程序员使用查询结果的时候才真的发出select ,这个现象我们称为懒加载(lazy)3.通过修改配置文件,我们可以取消懒加载 例:<class name="Employee" 阅读全文
posted @ 2013-03-11 23:20 九果子 阅读(161) 评论(0) 推荐(0)
摘要:hibernate是什么?1.是一个框架2.是一个orm框架orm(Object rebation mapping)对象关系映射3.hibernate处于我们项目的持久层位置,所以又有人把hibernate成为持久层框架4.hibernate实际上就是对jdbc进行了轻量级的封装5.hibernate的基础是java反射机制把对象持久化:把对象的信息保存到数据库或文件总结:hibernate是对jdbc的轻量级封装,orm(对象关系映射)框架,充当项目的持久层 程序员只关注业务本身,而不关注数据库。l 除了hiberante 这个orm框架,还有一些:apache ojb / top... 阅读全文
posted @ 2013-03-06 21:39 九果子 阅读(195) 评论(0) 推荐(0)