Hibernate
iteye_11956
这个作者很懒,什么都没留下…
展开
-
Hibernate_Basic1
hibernate.cfg.xml: 1. hbm2ddl.auto-->create(自动建表) update(自动更新表) creaate-drop(关闭sessionFactory时,自动drop表) validate(自动验证数据库的表和hbm配置文件是否对应) 2. hibernate使用slf4j来处理日志,但不常用。要转换为常用的log4j,需要加入log4j...原创 2010-08-31 11:24:58 · 72 阅读 · 0 评论 -
Hibernate_Basic_CRUD
1.任何定义关联关系的Annotation都有cascade和fetch两个属性。cascade负责CUD,fetch负责R 2.Read的情况,OneToMany的时候,他不会取出many的数据。但当ManyToOne的时候,会自动取出One的数据。为什么呢?举个例子:一个老师有50各学生,当你要取出50个学生的数据时,顺便取出老师的数据是顺其自然的。但如果你想取出老师的数据,你不会把所...原创 2010-09-06 17:27:51 · 86 阅读 · 0 评论 -
Hibernate_configuration_table
内容 Annotation XML 表名设置 @Table(name="xxx") table="xxx" 字段名设置 @Column(name="xxx") column="xxx" 时间格式 @Temporal(TemporalType.Date等) type="Date" 枚举类型 @Enumerated(EnumType.STRING/ORDI...原创 2010-09-07 14:06:25 · 89 阅读 · 0 评论 -
Hibernate_Basic_Tree
树型结构(有父子关系的数据设计到一张表中)的设计: 1.在属性里定义父属性和子属性。 2.父属性用@ManyToOne,子属性用@OneToMany(mappedBy="父属性名")。 就这么简单,over...原创 2010-09-13 10:46:43 · 96 阅读 · 0 评论 -
HIbernate_性能调优
1.大数据量重复填充session时,应该在每次调用之后调用session.clear(); 2.1+N问题(由Fetch=Eager造成,会发出N个sql调用)的解决方法: 1).将Fetch设为Lazy 2).调用session.createCriteria(class),因为这个默认会做左连接。不会发出N的SQL调用。 3).使用@BatchSize(size=xx...原创 2010-09-16 11:16:27 · 82 阅读 · 0 评论 -
Hibernate_Cache
1.打开二级缓存 <property name="cache.use_second_level_cache">true</property> <!-- 设置使用二级缓存为true --><property name="cache.provider_class">org.hibernate.cache.EhCacheProvider<原创 2010-09-17 16:00:10 · 95 阅读 · 0 评论 -
hibernate_悲观锁乐观锁
1.多个事务会出现的错误情况 1)dirty read脏读 --> 读了其他事务没有提交的数据 2)none repeatable read不可重复读 --> 在同一个事务中读两次得到不同的结果 3)phantom read幻读 --> 在同一个事务中读两次得到不同的结果(针对插入和删除) 2.悲观锁 乐观锁 为了考虑并发的效率...原创 2010-09-17 18:01:07 · 68 阅读 · 0 评论