随笔分类 -  hibernate

hibernate从简入深
hibernate 单元测试
摘要:单元测试 测试 dao service action run as junit test 不抛出异常或者跟预期一致都会显示绿颜色 阅读全文
posted @ 2015-04-28 16:56 itliucheng 阅读(657) 评论(0) 推荐(0)
hibernate 事务的隔离级别
摘要:脏读不可重复读幻读可序列化(符合事务的四个特性的正常情况 ) 解释: 脏读:事务A对数据1做了更新,但是还没有来得及提交 此时事务B对数据1进行了查询获得了事务A更新后的数据, 但是事务A因为一些原因又进行了回滚,这就导致数据1回到了 最初状态,那事务B读取的数据就是错误的,这就是脏读 不可重复读: 阅读全文
posted @ 2015-04-28 16:54 itliucheng 阅读(2056) 评论(0) 推荐(0)
hibernate Annotation 以及注解版的数据关联
摘要:目的是不写xxx.hbm.xml映射文件,使用注解 主配置文件还是要有hibernate.cfg.xml 一对多,多对一 记得添加到主配置文件中去 取而代之的是在类上注解 多对多 ,记得添加到主配置文件中去 一对一 第一种一对一 person和card,card的id即作为主键,又作为外键 第二种一 阅读全文
posted @ 2015-04-28 16:41 itliucheng 阅读(520) 评论(0) 推荐(0)
hibernate 缓存
摘要:缓存在hibernate中是天生就有的,是一级缓存,当session关闭时一级缓存就失效了 一级缓存是内置的,生效范围是在同一个session中才行.二级缓存是需要配置才有 判断当前项在不在一级缓存中,contains clear方法和evict方法 clear方法用于将所有对象从一级缓存中清除 e 阅读全文
posted @ 2015-04-28 16:30 itliucheng 阅读(273) 评论(0) 推荐(0)
hibernate 延长加载范围
摘要:1. 关闭延迟加载功能 lazy="false"2.修改抓取策略 fetch="join"直接查询关联数据,一个联接查询搞定3.使用Hibernate对象的initialize方法将关联对象进行预加载,不管用不用都提前查了一遍3中方法无非都是将session关闭之前执行了这个sql 阅读全文
posted @ 2015-04-28 16:21 itliucheng 阅读(173) 评论(0) 推荐(0)
hibernate 数据关联多对多
摘要:多对多,必须有一张关系表来维持关系 数据库student,teacher student_teacher 三张表 但是在pojo中只需要建立student和teacher两个类,除非关系表也代表某种业务(比如订单中,除了产品还会记录价格,数量等),但是这时候性质也就变了,成了两个一对多...好好想想 阅读全文
posted @ 2015-04-28 16:20 itliucheng 阅读(238) 评论(0) 推荐(0)
hibernate 数据关联一对一
摘要:第一种一对一 person和card,card的id即作为主键,又作为外键 xxx.hbm.xml 的配置 记得在总配置文件中添加这两个配置文件 程序执行 查询 这种情况下的查询都是联接查询,有捆绑性 删除 第二种一对一,是一对多或者多对一的特殊情况,具有延迟加载的能力 dept和Employee, 阅读全文
posted @ 2015-04-28 16:16 itliucheng 阅读(258) 评论(0) 推荐(0)
hibernate 数据关联一对多
摘要:一对多,多对一 (在多的一端存放一的外键) 但是在实体类中不需要创建这个外键 在映射文件中也要配置 一对多的一:User.hbm.xml中 一对多的多:Address.hbm.xml中 程序的执行 1.添加 所以在一对多的时候,关系要让多来维护,save的时候先保存一的再保存多的 可以在一的配置中i 阅读全文
posted @ 2015-04-28 14:11 itliucheng 阅读(279) 评论(0) 推荐(0)
hibernate Criteria查询
摘要:Criteria对象提供了一种面向对象的方式查询数据库。Criteria对象需要使用Session对象来获得一个Criteria对象表示对一个持久化类的查询 查询所有 where 分页 分组与统计 多个统计与分组 排序 当然也可以使用原生sql 阅读全文
posted @ 2015-04-28 13:06 itliucheng 阅读(276) 评论(0) 推荐(0)
hibernate HQL查询
摘要:hql(都要在事务中完成)session.beginTransaction();session.getTransaction().commit(); 获取不完整对象 HQL占位符 HQL引用占位符 分页 阅读全文
posted @ 2015-04-28 12:53 itliucheng 阅读(205) 评论(0) 推荐(0)
hibernate 持久化对象的生命周期
摘要:持久化对象的生命周期 瞬态(自由态) 表示对象在内存中存在,在数据库中没有数据相关,比如刚刚new出来的一个对象 持久态 持久态指的是持久化对象处于由Hibernate管理的状态,这种状态下持久化对象的变化将会被同步到数据库中 session.save() .....到..session.getTr 阅读全文
posted @ 2015-04-28 11:55 itliucheng 阅读(420) 评论(0) 推荐(1)
hibernate的配置
摘要:hibernate 是一种ORM框架,是ORM框架中一个典范 ORM叫做对象关系映射 是面向对象语言和关系型数据库之间的映射关系 所以只有在面向对象语言或者关系型数据库没用的时候ORM才会消失 ORM为我们做什么 减少乏味的代码 更加面向对象的设计 更好的性能 更好的移植性 使用Hibernate 阅读全文
posted @ 2015-04-28 11:39 itliucheng 阅读(343) 评论(0) 推荐(0)