
HIBERNATE
xuxiaoxi!
这个作者很懒,什么都没留下…
展开
-
Hibernate3包问题org/slf4j/impl/StaticLoggerBinder
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder 下载一个包:slf4j-nop-1.5.2.jar2008-12-15 13:55:53 · 117 阅读 · 0 评论 -
composite 映射
通常将复合主键相关的属性,单独放到一个类中 * 此类必须实现序列化接口 * 覆写hashcode和equals方法 <class name="com.bjsxt.hibernate.FiscalYearPeriod" table="t_fiscal_year_period"> <composite-id name="fiscalYearPeriodPK"> <...原创 2008-12-19 10:48:54 · 110 阅读 · 0 评论 -
Set Map Arrary List 集合映射
<class name="com.bjsxt.hibernate.CollectionMapping" table="t_CollectionMapping"> <id name="id"> <generator class="native"/> </id> <property name原创 2008-12-19 14:50:35 · 140 阅读 · 0 评论 -
悲观锁与乐观锁
悲观锁 悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据锁定,其它任何用户都不能读取或修改! public void testLoad1() { Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); // LockMode设置锁...原创 2008-12-19 15:49:16 · 95 阅读 · 0 评论 -
冬夜读书示子律
古人学问无遗力,少壮功夫老始成。 纸上得来终觉浅,绝知此事要躬行。 --------------陆游 ...原创 2008-12-19 16:11:53 · 287 阅读 · 0 评论 -
HQL 原生SQL查询 外置命名查询 查询过滤器 DML风格的查询
在hql中关键字不区分大小写,但是属性和类名区分大小写 1、简单属性查询【重要】 * 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致 * 多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体类中的类型一致 数组的长度取决与select中属性的个数 * 如果认为返回数组不够对象化,可以采用hql动态实例化Student对象 2、实体对象查询【重要...原创 2008-12-20 15:04:39 · 114 阅读 · 0 评论 -
一级缓存
一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务级缓存 session间不能共享一级缓存的数据,因为它会伴随session的生命周期存在和消亡 那些方法支持一级缓存: * get() * save() * load() * iterate(查询实体对象) 一级缓存只对实体对象起作用。 HQL 不支持缓存机制。 如何管理一级缓存: * session...原创 2008-12-20 21:18:40 · 137 阅读 · 0 评论 -
二级缓存
二级缓存也称进程级的缓存或SessionFactory级的缓存,二级缓存可以被所有的session共享二级缓存的生命周期和SessionFactory的生命周期一致,SessionFactory可以管理二级缓存 二级缓存的配置和使用: * 将echcache.xml(在etc目录下有模板文件)文件拷贝到src下 * 开启二级缓存,修改hibernate.cfg.xml文件 <p...原创 2008-12-21 09:55:38 · 327 阅读 · 0 评论 -
查询缓存
[color=darkred][b]查询缓存是针对普通属性结果集的缓存,对实体对象的结果集只缓存id[/b][/color] [color=black]查询缓存的生命周期,当前关联的表发生修改,那么查询缓存生命周期结束[/color] 查询缓存的配置和使用: * 在hibernate.cfg.xml文件中启用查询缓存,如: [b][color=darkred]true[/color...原创 2008-12-21 13:27:23 · 158 阅读 · 0 评论 -
Component 映射
在hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid,component可以成为是值对象(DDD领域设计模型) 采用component映射的好处:它实现了对象模型的细粒度划分,层次会更分明,复用率会更高 <class name="com.bjsxt.hibernate.User" table="t_user"> <id nam...原创 2008-12-19 09:54:55 · 120 阅读 · 0 评论 -
继承映射
继承映射分为三种: 1 单表继承:每颗类继承树使用一个表(table per class hlerarchy) 2 具体表继承:每个子类一个表(table per subclass) 3 类表继承:每个具体类一个表(table per concrete class) 第一种的效率更高一点,第二种的结构层次更好一点。 每棵继承树映射成一张表 1、理解如何映射 因为类继承树肯定是...原创 2008-12-18 21:05:34 · 99 阅读 · 0 评论 -
many-to-one
[code="xml"] [/code] [code="xml"] [/code] 关联映射的本质: * 将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用 会在多的一端加入一个外键,指向一的一端,这个外键是由 中的column属性定义...原创 2008-12-16 20:15:01 · 195 阅读 · 0 评论 -
one-to-one(1主键关联)
[code="java"][/code][color=red]主键关联-----单向[/color][code="xml"] [/code] [code="xml"] idCard [/code] hibernate一对一主键关联映射(单向关联Person...原创 2008-12-16 20:23:56 · 142 阅读 · 0 评论 -
One-to-one( 2 唯一外键关联)
[code="java"][/code][color=red]hibernate一对一唯一外键关联映射(单向关联Person---->IdCard)[/color] [code="java"] [/code] [code="java"] [/code] 一对唯一外键关联映射是多对...原创 2008-12-17 11:12:28 · 128 阅读 · 0 评论 -
数据库隔离级别
隔离级别 脏读 不可重复读 幻读 ReadUncommitted Y Y Y ReadCommitted N Y Y RepeatableRead N N Y Serializable N N N ReadCommited是oracle的默认隔离级别。可以通过悲观锁,消除不可重复读。 RepeatableRead是Mysql的默认级别。 ...原创 2008-12-17 13:57:58 · 93 阅读 · 0 评论 -
session --------- flush() 和 evict()
[color=red]session flush方法主要做了两件事: * 清理缓存 * 执行sql session在什么情况下执行flush * 默认在事务提交时 * 显示的调用flush * 在执行查询前,如:iterate hibernate按照save(insert),update、delete顺序提交相关操作 [/color] [code="j...原创 2008-12-17 14:00:46 · 223 阅读 · 0 评论 -
one-to-many
[color=red]hihernate一对多关联映射(单向Classes----->Student) 一对多关联映射利用了多对一关联映射原理 多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一 一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多 也就是说一对多和多对一的映射策略是一样的,只是站的角度不同 在一一端维护关系的...原创 2008-12-17 20:19:28 · 139 阅读 · 0 评论 -
Many-to-Many
[color=red]hibernate多对多关联映射(单向User---->Role)[/color][code="java"] [/code] [code="java"] [/code] ---------------------------------...原创 2008-12-18 10:36:54 · 128 阅读 · 0 评论 -
LAZY策略
hibernate lazy策略可以使用在: * <class>标签上,可以取值:true/false * <property>标签上,可以取值:true/false需要类增强工具 * <set><list>标签上,可以取值:true/false/extra * <one-to-one><many-to-one>单端关联上,可...原创 2008-12-18 14:26:20 · 141 阅读 · 0 评论 -
Fetch抓取策略
[color=black][b]1 hibernate抓取策略(单端代理的批量抓取)[/b][/color] [b]保持默认,同fetch="select",如:[/b] fetch="select",另外发送一条select语句抓取当前对象关联实体或集合 [b]设置fetch="join",如:[/b] fetch="join",hibernate会通过selec...原创 2008-12-21 15:30:02 · 338 阅读 · 0 评论