Hibernate3实践
分享Hibernate知识,记录学习过程。
残缺的孤独
要么强大,要么听话。
展开
-
Hibernate 悲观锁和乐观锁
锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机 制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓 的 “ 锁 ” ,即给我们选定的目标数据转载 2014-07-09 09:05:40 · 918 阅读 · 0 评论 -
Hibernate查询缓存
(1) 查询缓存是针对普通结果集的缓存,对实体对象的结果集只缓存id列表。(2)如果当前关联的表发生修改,则查询缓存的生命周期结束,与session无关。(3)查询缓存默认是关闭的,必须显示启用 A:在hibernate.cfg.xml文件中启用 true原创 2011-08-16 08:31:48 · 1299 阅读 · 0 评论 -
Hibernate 一级缓存和二级缓存
1.一级缓存一级缓存时间很短,即session级别的缓存,和session的生命周期一致。只缓存实体对象。(1)支持一级缓存的方法 get()、load()、iterate()【查询实体对象时】(2)一级缓存的管理 一级缓存无法取原创 2011-08-15 20:06:55 · 1030 阅读 · 0 评论 -
Hibernate3---持久化对象的状态
1、Hibernate的CRUD操作(1)save Serializablesave(Object object) Persist the given transient instance, first assigning a原创 2011-07-29 16:47:04 · 1347 阅读 · 0 评论 -
HQL简单属性和实体对象查询
在HQL中,关键字不区分大小写,但属性名和类名区分大小写。1.简单属性查询(1)单一属性查询:返回的结果集为属性列表,其类型与实体中该属性的类型一致 List students=session.createQuery("select name from Stude原创 2011-08-12 09:52:54 · 5933 阅读 · 0 评论 -
HQL条件查询和原生SQL查询
1.条件查询 (1)拼字符串List students=session.createQuery("select id,name from Student where name like '%1%'").list();(2)采用占位符?Query query=s原创 2011-08-14 20:45:17 · 2758 阅读 · 0 评论 -
Hibernate lazy 策略
1.hibernate lazy策略使用范围: 标签,取值为true/false; 标签,取值为true/false; 标签,取值为true/false/extra; / 单端关联上,取值为true/proxy/noproxy。 lazy:只有在真正使用原创 2011-08-09 17:19:58 · 771 阅读 · 0 评论 -
Hibernate Annotation 一对多/多对一双向关联
(1)User.javapackage com.yy.hibernate.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;import javax.p原创 2014-04-14 22:27:44 · 1195 阅读 · 0 评论 -
Hibernate xml一对多关联映射 单向+双向
1.单向一对多关联映射利用了多对一关联映射原理。多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一;一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多。即两者的映射策略是相同的,只是看待问题的角度不同。举例:Cl原创 2011-08-09 11:07:05 · 3111 阅读 · 0 评论 -
Hibernate Annotation 一对多单向关联
1、单向关联(1)Grouppackage com.yy.hibernate.model;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.I原创 2014-04-14 22:23:35 · 2741 阅读 · 0 评论 -
Hibernate Annotation 多对一单向关联
1、多对一单向关联(1)原创 2014-04-14 22:03:06 · 1085 阅读 · 1 评论 -
hibernate XML component 映射
(1)component 映射:把实体的一部分抽取出来单独成类,这个了具有更高的复用率,这样以来实现了对象模型的细粒度划分,层次更加分明。(2)在hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是它没有oid。(3)生成的表只有一个表,原创 2011-08-11 07:51:12 · 1341 阅读 · 0 评论 -
Hibernate Annotation组件映射
组件映射只生成一张表,如下示例:(1)Wife.java原创 2014-04-14 21:38:13 · 1564 阅读 · 0 评论 -
Hibernate Annotation 一对一主键关联
1、单向原创 2014-04-13 22:04:41 · 1291 阅读 · 0 评论 -
Hibernate XML一对一主键关联 单向+双向
(1)基于主键关联的持久化类不能拥有自己的主键生成策略,必须依附于关联类,由关键类来生成主键。(2)一对一主键映射中,默认了cascade属性。示例:A---->B 在A中持有B的引用B的映射文件: 。。。。。。原创 2011-08-08 17:34:10 · 1280 阅读 · 0 评论 -
Hibernate XML一对一外键关联映射 单向+双向
1.单向(1) 是多对一关联映射的特例。(2)使用标签 示例:A----->BB的映射文件: A的映射文件: 注意:测试时原创 2011-08-08 21:18:07 · 1124 阅读 · 0 评论 -
hibernate Annotation一对一双向外键关联
hibernate中一对一双向外键关联注解原创 2014-04-13 21:39:08 · 2074 阅读 · 0 评论 -
hibernate Annotation一对一单向外键关联
使用注解的方式进行设置。如下:(1)原创 2014-04-13 21:27:06 · 10780 阅读 · 1 评论 -
hibernate之Update
1、某字段原创 2014-04-13 16:45:50 · 1419 阅读 · 0 评论 -
get和load方法的区别
Hibernate中获取对象时使用的方法get和load原创 2014-04-07 21:14:32 · 2642 阅读 · 0 评论 -
hibernate持久化对象状态
持久化对象的状态:瞬时对象(Transient Objects):使用new操作符初始化的对象不是立刻就持久化的。他们的状态是瞬时的,也就是说他们没有任何跟数据库表相关联的行为,只要应用不再引用这些对象(不再被任何其他对象所引用),他们的状态将会丢失,并由垃圾回收机制回收。转载 2011-07-29 17:17:55 · 12217 阅读 · 6 评论 -
openSession 和getCurrentSession的区别
目前获取Session的时候存在两种方式,原创 2014-04-05 22:24:17 · 2763 阅读 · 0 评论 -
Hibernate联合主键
如果一张表中存在联合主键,在hibernate中会把联合主键封装成一个类,然后在实体类中引用此联合主键类。联合主键类需要实现序列化,重写equals以及hashcode方法。比如Emp有id和name两个主键,示例如下:package com.yy.hibernate.model;import java.io.Serializable;public class EmpCompo原创 2014-04-02 22:34:50 · 6149 阅读 · 0 评论 -
ID生成策略
Hibernate中主键的生成策略主要有以下几种:(1)uuid原理是使用128位的uuid算法产生主键,从而能够确保网络环境下的一致性。使用此生成策略时,实体类的主键是String类型的,映射成表中字段为varchar。适用所有数据库。 (2)native原理是根据数据库类型自动选择sequence、identify以及hilo。使用此生成策略时,实体类的主键是int类型的,原创 2014-04-01 23:09:25 · 5093 阅读 · 0 评论 -
Hibernate中使用注解
Annotation在项目中的使用越来越多,同样hibernate中支持Annotation,如果在hibernate中使用注解,从而轻XML配置,从下面简单的小例子加以说明。1、实体类Emp.javapackage com.yy.hibernate.model;import javax.persistence.Entity;import javax.persistence.Id;原创 2014-03-30 11:32:10 · 7499 阅读 · 0 评论 -
Hibernate2--开发步骤及接口说明
以一个简单的示例说明开发的步骤1.开发步骤(1)创建hibernate的配置文件hibernate.cfg.xml<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DT原创 2011-07-28 16:21:14 · 1015 阅读 · 0 评论 -
Hibernate1--简介
1、 hibernate处于持久层,是一个轻量级框架,java程序员可以使用对象编程思维来操作数据库。2、对象到关系的映射ORM技术:为了解决面向对象和关系数据库存在的互不匹配的问题。3、ORM通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库原创 2011-07-27 16:15:30 · 917 阅读 · 0 评论