Hibernate
jianhua0902
这个作者很懒,什么都没留下…
展开
-
Hibernate主键的增长策略
1 assigned(手工方式) 1) 没有手工指定主键: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.etoak.hibernate.entity.User 2) 主键重复: java.原创 2012-08-30 19:13:03 · 559 阅读 · 0 评论 -
hibernate二级缓存配置
1、首先要打开二级缓存,在hibernate.cfg.xml中添加如下配置: true 2、Hibernate的二级缓存使用第三方的缓存工具来实现,所以我们需要指定Hibernate使用哪个 缓存工具。如下配置指定Hibernate使用EhCache缓存工具。 org.hibernate.cache.EhCacheProvider原创 2013-05-11 12:35:03 · 823 阅读 · 0 评论 -
Hibernate对象状态
在hibernate中有三种状态:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 通过自己在网上的搜索,也了解到,这三种状态也可以称作:临时状态、持久状态、游离状态。 一、三种状态介绍: (1) 瞬时状态: 由new操作原创 2012-08-30 19:08:59 · 378 阅读 · 0 评论 -
hibernate抓取策略
单端代理的批量抓取 保持默认,同fetch="select",如: fetch="select",另外发送一条select语句抓取当前对象关联实体或集合 设置fetch="join",如: fetch="join",hibernate会通过select语句使用外连接来加载其关联实体或集合 此时lazy会失效 集合代理的批量原创 2012-08-30 19:29:55 · 335 阅读 · 0 评论 -
Hibernate读书笔记-----Hibernate的关联映射之1-1关联映射
二、1—1 无论是单向1-1映射关联,还是双休1-1映射关联,都有三种映射策略:基于主键、基于外键、采用连接表。 1、单向1-1映射关联 1.1、基于主键的单向1-1映射关联 对于基于主键的单向1-1关联,基于主键关联的持久化类不能拥有自己的主键生成器策略,它的主键由关联实体来负责生转载 2012-11-15 20:15:43 · 690 阅读 · 0 评论 -
Hibernate读书笔记-----Hibernate的关联映射之N-N关联映射 .
四、N—N关联关系 1.1单向N-N的关联 单向的N-N关联和1-N关联的持久化类完全一样,控制关系的一端需要增加一个set集合属性,被关联的持久化实例以集合的形式存在。 N-N关联必须使用连接表,N-N关联与有连接表的1-N关联非常相似,只需要去掉元素的unique="true"即可。其他的配置和1-N关联一样。转载 2012-11-15 20:19:18 · 325 阅读 · 0 评论 -
Hibernate读书笔记-----Hibernate的关联映射之1-N关联映射
三、1—N 对于1-N而言,它的持久化类发生了一点改变,持久化类里需要使用集合属性。因为1的一端需要访问N的一端,而N的一端将以集合(Set)形式表现。 1、单向1-N关联 对于单向的1-N关联关系,只需要在1的一端增加Set类型的属性,该属性记录当前实体的关联实体。 同样以员工-部门为例(Emp转载 2012-11-15 20:18:06 · 442 阅读 · 0 评论 -
Hibernate读书笔记-----Hibernate的关联映射之N-1关联映射
我们所生活的世界很少有事物是孤立存在的,每个事物必然会存在着与它相关联的事物。在面向对象设计当中,关联关系是非常重要的。关联关系一般可以分为以下两种: 单向关系:只需单向访问关联端 双向关系:关联的两端都可以互相访问 单向关系可分为:1—N、1—1、N—1、N—N 双向关系可分为:1—1 、1—转载 2012-11-15 20:11:39 · 620 阅读 · 0 评论 -
Hibernate悲观锁和乐观锁详解
业务实现过程中,难免需要保证数据访问的排他性。如金融系统的日终结算中,我们会针对某个截止点的数据进行处理,在此同时,不希望在结算的这段时间里(几秒钟或者几个钟头),数据再有变动,不然我们的统计也无效了。这种时候,我们为了保证某些数据在某个操作中不被外界修改,就引入了我们hibernate的锁机制,一旦我们给目标上锁,其他程序则不能去修改。hibernate中锁是两种,悲观和乐观锁。 1、悲观锁原创 2012-11-09 20:26:33 · 630 阅读 · 0 评论 -
Hibernate的查询 HQL查询
HQL参数为分两种,一种是占位符方式:(注意是从 0 开始) String hql = "from User u where u.id=?"; Query query = session.createQuery(hql); query.setParameter(0, 2); List user = query.list();原创 2012-11-06 21:25:38 · 402 阅读 · 0 评论 -
Hibernate 的 formula简单用法
Hibernate 3 之后,formula(公式,Excel 里常见的) 得到了更广泛的应用,不过这里还是简单记录一下它在 中的应用。假如我们要映射这么一个类: public class User { private int id; private String name; Private Set orders = new HashSet(); //setter原创 2012-08-22 20:26:16 · 1262 阅读 · 0 评论 -
关于hibernate缓存的问题
1.1. 基本的缓存原理 Hibernate缓存分为二级, 第一级存放于session中称为一级缓存,默认带有且不能卸载。 第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件查询时必须使用相应的方法才能从缓存中获取数据。比如Query.ite原创 2013-05-11 12:35:46 · 699 阅读 · 0 评论