
hibernate篇
baobeituping
积极,开朗,健康,向上.本人刚失恋,郁闷ING
展开
-
Hibernate 清除缓存对象
Session 的clear方法;该方法是用来清除缓存对象的。 当HIBERNATE插入10000条数据 for(int i=0;i<10000;i++) { Student stu = new Student(); session.save(stu); } 当插入到5000行数据的时候可能抛出例外了,内存溢出。实际上JDBC具有批处理功能,能将多余的S...原创 2011-01-11 14:31:26 · 361 阅读 · 0 评论 -
HIBERNATE 中get方法和load方法的区别
get方法执行顺序: 1.首先通过ID在session缓存中查找对象,如果存在此ID对象,那么就直接返回。 2.在二级缓存中查找,找到后返回。 3.如果都找不到,则从数据库加载拥有此ID 的对象。 4.get方法不管配置文件中设置的lazy为何值,都采用的是立即检索对象。 load方法和get方法的不同: 1.立即检索 team的配置文件:(设置lazy="false") &...原创 2010-12-10 10:23:45 · 122 阅读 · 0 评论 -
HIBERNATE对加载策略的总结
1.session具有缓存,每一个持久状态的对象都被纳入session缓存中,不同的session的缓存空间不一样,数据库中的一挑记录在一个session中只能对应一个对象,不同的session可以有不同的对象对应数据库中的同一条记录。 2.对象关联有一对以,多对一,一对多和多对多。检索策略有立即检索,延迟检索,预先抓取和批量立即检索和延迟检索。一般末端为一的关联,一般设置为预先抓取,对于末端为...原创 2010-12-10 09:42:25 · 108 阅读 · 0 评论 -
Hibernate 批量加载(立即、延迟)
一、批量立即加载 以上面的例子为例: Team对学生采取的是立即加载 客户端: Session session = SessionUtil.getSession(); Transaction tran = session.beginTransaction(); Query query = session.createQuery("from Team"); List list =...原创 2010-12-10 09:27:05 · 145 阅读 · 0 评论 -
外连接对预先抓取的影响
只要在HQL中指定了外连接,那么不论配置文件中是预先抓取或是立即或延迟检索,都会失效。 以上面为例: 学生对身份证采取预先抓取和立即检索,对班级是预先抓取,班级对学生是延迟加载。 Session session = SessionUtil.getSession(); Transaction tran = session.beginTransaction(); Query qu...原创 2010-12-09 17:50:29 · 131 阅读 · 0 评论 -
Hiernate 预先抓取策略
预先抓取采用的是fetch="join"的方式 预先抓取指的是通过select语句使用outer join 一般是左外连接来获得对象的关联实例或者是关联的集合(集合被初始化了,这是重点)。 用上面的例子,加上一个身份证的对象。CARD 他和学生对象是一对一的关系。 身份-----立-----学-----立即------班 证-------即------生-----立即--...原创 2010-12-09 15:01:29 · 248 阅读 · 0 评论 -
Hiernate 延迟加载
对于hibernate的延迟加载,就是对一个对象加载的时候,不去加载他的相关的对象。 以立即加载中的student和team为例子: 如果student延迟加载team,team立即加载student Session session = SessionUtil.getSession(); Transaction tran = session.beginTransac...原创 2010-12-09 11:19:48 · 121 阅读 · 0 评论 -
Hibernate 的立即检索策略
立即检索的配置文件标识符为lazy="false" 立即检索表示从数据库中取得的字段值组装好一个对象,会立即再从数据库取数据组装与该对象关联的对象。 这种关系经常用于一对多等关联关系中。 例如:班级Team 和学生Student Team: <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernat...原创 2010-12-08 22:18:04 · 163 阅读 · 0 评论 -
配置主键策略的时候出现的异常
页面提示: javax.servlet.ServletException: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of name.liujing.xmal3.entity.User.userId 控制台提示: java.lang.Illegal...原创 2010-12-08 21:39:32 · 159 阅读 · 0 评论 -
Hibernate学习笔记
Hibernate学习笔记原创 2011-02-21 10:21:11 · 105 阅读 · 0 评论 -
Hibernate 的Query查询
链接查询 以班级和学生为例子: 班级对学生如果是延迟加载。 team.hbm.xml <set name="students" cascade="all" inverse="true" lazy="true" batch-size="3"> <key column="teamID"></k原创 2011-01-12 11:33:39 · 117 阅读 · 0 评论 -
Hibernate 以外键关联
以学生(STUDENT)和身份证(CARD)为例子: 建表语句: Student: SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for student-- ----------------------------DROP TABLE IF EXISTS `student`;CREATE ...原创 2011-01-12 09:03:05 · 122 阅读 · 0 评论 -
Hibernate 的cascade属性的用法
Cascade 属性值: none:在保存、删除修改对象的时候,不考虑其附属物的操作 save-update:在保存、更新当前对象时,级联保存、更新附属物。 delete:在删除当前对象时,级联删除附属物。 all: 包含save-update和delete的操作 delete-orphan:删除和当前对象解除关系的附属对象。 NONE: <?xml version...原创 2011-01-11 15:50:59 · 158 阅读 · 0 评论 -
Hibernate 中cascade的用法
实例team和student team.hbm.xml <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-...原创 2010-12-10 15:58:13 · 128 阅读 · 0 评论