![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
文章平均质量分 78
风云正
小伙子好好干,将来考个好大学!
展开
-
Hibernate学习总结之基础篇
hibernate 是对 jdbc 进行轻量级封装的 orm 框架,充当项目的持久层 . hiberante 可以用在 j2se 项目,也可以用在 j2ee (web 项目中 ) struts 是 web 框架 , 所以用在 web 项目 创建 employe 表 . ...原创 2012-07-24 19:31:31 · 103 阅读 · 0 评论 -
Hibernate学习之二级缓存
为什么需要二级缓存? 因为一级缓存有限(生命周期短),所以我们需要二级缓存(SessionFactory缓存)来弥补这个问题 需要配置 二级缓存是交给第三方去处理,常见的Hashtable , OSCache , EHCache 二级缓存的对象可能放在内存,也可能放在磁盘. 在*.hbm.xml文件中加入使用二级缓存的策略: <cache usage="read-write"/&...原创 2012-09-23 16:04:26 · 72 阅读 · 0 评论 -
Hibernate学习之一级缓存
为什么需要缓存: 当我们去查询对象的时候,首先到一级缓存去取数据,如果有,则不到数据库中取,如果没有则到数据库中取,同时在一级缓存中放入对象. 缓存的作用主要用来提高性能,可以简单的理解成一个Map;使用缓存涉及到三个操作:把数据放入缓存、从缓存中获取数据、删除缓存中的无效数据。一级缓存的细节 什么操作会向一级缓存放入数据: save,update,saveOrUpdate,loa...原创 2012-09-23 12:23:05 · 84 阅读 · 0 评论 -
Hibernate学习之懒加载
懒加载: 懒加载(Load On Demand)是一种独特而又强大的数据获取方法 ,是指程序推迟访问数据库 ,这样做可以保证有时候不必要的访问数据库,因为访问一次数据库是比较耗时的。 简述: 当我们查询一个对象的时候,在默认情况下,返回的只是该对象的普通属性,当用户去使用对象属性时,才会向数据库发出再一次的查询.这种现象我们称为 lazy现象 . 解决方法可以这样: 显示初始化 H...原创 2012-09-23 11:32:15 · 101 阅读 · 0 评论 -
Hibernate对象之间的三种关系
hibernate 对象的三种关系: one – to – one : 身份证<--->人 one – to – many : 部门 <---> 员工 many-to-one : 员工<--->部门 many-to-many : 学生<--->老师 在实际开发中,如果出现了many-to-many关系,我们应该将其转换成两个one-t...原创 2012-09-18 14:50:27 · 284 阅读 · 0 评论 -
Hibernate学习之级联操作
Hibernate学习之级联操作: 级联操作 Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作,常用的cascade: none,all,save-update ,delete, lock,refresh,evict,replicate,persist,merge,delete-orphan(one-to-many) 。一般对many-to-one,many-t...原创 2012-09-18 14:33:05 · 125 阅读 · 0 评论 -
Hibernate学习之HQL详解2
uniqueResult方法 如果我们检索一个对象,明确知道最多只有一个对象 ,则建议使用该方法: 具体用法如下: Student s=(Student) session.createQuery("from Student where sid='20050003'").uniqueResult(); System.out.println(s.getSname());distinct的...原创 2012-09-11 14:39:38 · 94 阅读 · 0 评论 -
Hibernate常用代码模板
工具类HibernateUtil.java: package com.cz.util; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Tra...原创 2012-09-09 14:53:09 · 91 阅读 · 0 评论 -
Hibernate学习之HQL详解1
Hibernate具有三种查询方式: HQL(Hibernate Query Language)检索 QBC(Query By Criteria)检索 Native SQL检索 以上三种查询方式都是通过Session对象 来操作的 HQL查询: 是完全面向对象的查询语句,查询功能非常强大,具备继承、多态和关联等特性 。 Hibernate使用Query接口来执行HQL语句,类似jd...原创 2012-09-03 08:49:30 · 324 阅读 · 0 评论 -
Hibernate学习之持久化对象
Hibernate对其持久化对象实现了缓存管理,来提高系统性能,Hibernate支持两级缓存管理,一级缓存 是由Session提供的,因此它只存在于Session的生命周期中,是Session所内置的,不能被卸载。 Hibernate的二级缓存是由SessionFactory提供的,他作为一个可插入的组件使用的,默认是不支持的,应用必须明确配置二级缓存才能使用. Session缓存的作用:...原创 2012-09-03 08:42:48 · 93 阅读 · 0 评论 -
Hibernate学习小结之实体对象之间关系
双向一对一关系: 实体对象之间一对一的关联是通过数据库的外键实现的 外键的使用有以下两种方式:主键关联: 不需要借助额外字段,直接通过两个表的主键来关联,两表中相关联的记录要使用相同的主键值唯一外键关联 :某个表的外键字段关联到另一个表的主键字段上,是多对一关联的特例 主键关联: 首先需要在Student对象的配置文件中定义到Address对象的关联: <one-...原创 2012-08-28 15:42:19 · 173 阅读 · 0 评论 -
Hibernate和JDBC实现CRUD操作的比较
使用JDBC实现CRUD操作: 查询操作: public class UserDAO { public User findUserById(int id){ User userInfo = null; Connection con = DBConnection.getConnection(); PreparedStatement pst = null; ...原创 2012-08-24 13:29:25 · 131 阅读 · 0 评论 -
Hibernate注意事项
1.<!-- 配置显示hibernate生成的 sql ,特别说明,在开发阶段设为true利于调试,在使用项目则设为false--> <property name="show_sql ">true</property> 2.SessionFactory(会话工厂) 可以缓存 sql 语句和数据 ( 称为 sessio...原创 2012-07-26 13:52:46 · 130 阅读 · 0 评论 -
Hibernate学习之主键增长策略
主键增长策略 对象标识符(OID object id) 从表的角度看,OID对应表的主键。从类的角度看OID对应类的主键属性.increment: 由Hibernate自动以递增方式生成标识符,每次增量为1。 select max(id) from Student 优点:不依赖于底层数据库系统,适用于所有的数据库系统。 缺点:适用于单进程环境下,在多线程环境下很可能生成相同主键值,...原创 2012-09-24 09:24:39 · 184 阅读 · 0 评论