- 浏览: 1193309 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (434)
- js (20)
- struts2 (77)
- spring (11)
- hibernate (17)
- ssh整合 (9)
- 程序例子 (4)
- 正则表达式 (8)
- JSP (20)
- IDE (15)
- 数据库 (10)
- 工作经验技巧感悟 (21)
- 程序员的幽默 (4)
- windows设置 (4)
- 名词解释 (4)
- 技术入门 (4)
- jFreeChart (16)
- OGNL (5)
- java基础 (46)
- dwr (4)
- portal (1)
- 示例用到的附件 (0)
- 优秀程序员45个习惯 (1)
- webService (1)
- shell (3)
- ibatis (3)
- 开发工具 (1)
- OS (3)
- xmlbean (2)
- design_pattern (0)
- error (1)
- testng (2)
- python (18)
- hadoop (21)
- mapreduce (9)
- Hive (0)
- HBase (0)
- ubuntu (22)
- 多线程 (7)
- 自我改进 (6)
- 设计模式 (1)
- ssh (2)
- ant (4)
- guake (2)
- 云计算 (9)
- hdfs (3)
- 大数据 (1)
- 电信业务 (1)
- maven (2)
- svn (5)
- UML (1)
- 待处理问题 (2)
- log4j (1)
- css (1)
- LevelDb (0)
- thrift (6)
- 辅助工具 (3)
- 算法 (1)
- tornado (0)
- twisted (1)
- jvm (0)
- 图书 (1)
- 其他 (1)
- oracle (2)
- mvn (1)
- 私人信息 (0)
- nio (1)
- zookeeper (1)
- JavaIO (3)
- mongodb (1)
- java-高级 (6)
- spring-深入 (1)
- tomcat (1)
- quartz (1)
- 面试题 (1)
- redis (3)
- EJBCA (0)
- spring-3.0 (1)
- memcache (3)
- 性能检测 (1)
- android (0)
- 开源项目 (1)
- 将博客搬至CSDN (0)
- 架构之路 (1)
最新评论
-
pjwqq:
“子类对象”都拥有了“父类对象的一个实例的引用”我晕,应该是“ ...
java继承--父类属性的存放位置 -
gwgyk:
关于楼主最后的问题,我想可能是这样:InputFormat默认 ...
eclipse 运行hadoop wordcount -
fanjf:
上述7点基本具备,可惜现在因为项目需要,做管理方面工作!
如何判断自己是否具有成为一名优秀程序员的潜质 -
摸爬滚打NO1:
链接已经失效
Eclipse添加JSEclipse 插件(js插件) -
younglibin:
看了以上7条, 自己 也不知道是否能够对上, 感觉没一点都有那 ...
如何判断自己是否具有成为一名优秀程序员的潜质
- one-to-one 元素
属性:
- name:映射类属性的名字
- class:映射的目标类
- cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行更新操作时级联、delete执行删除操作时级联
- constrained:表明当前类对应的表与被关联的表之间是否存在着外键约束 默认值为false
- fetch:设置抓取数据的策略 可选值为 join外连接抓取、select序列选择抓取
- property-ref:设置关联类的属性名,此属性和本类的主键相对应 默认值为关联类的主键
- access:Hibernate访问这个属性的策略 默认值为property
- formula:绝大多数一对一关联都指向其实体的主键。在某些情况下会指向一个或多个字段或是一个表达式,此时可用一个SQL公式来表示
- lazy:指定是否采用延迟加载及加载策略 默认值为proxy通过代理进行关联 可选值为 true此对象采用延迟加载并在变量第一次被访问时抓取、false此关联对象不采用延迟加载
- entity-name:被关联类的实体名
单向1——1关联:
需要在实体中提供setter、getter方法;
事实上单向的1——1和N——1配置非常相似;只需要在many-to-one元素增加 unique="true"属性,用于表示N的一端必须是唯一的即可!(既然N的一端加了唯一性约束那么就成了1——1了!)
A、基于外键的单向1——1关联:
将无连接表的many-to-one元素增加 unique="true"属性,即可完成映射!
eg:
<!-- 用于映射1-1关联实体,指定关联实体类为Address
指定外键列名为addressId,并指定级联全部操作 -->
<many-to-one name="address" cascade="all"
unique="true" class="Address"
column="addressId"/>
B、有连接表的单向1——1关联:
将连接表的many-to-one元素增加 unique="true"属性,即可完成映射!
eg:
<!-- 映射连接表中参照关联实体的外键列 -->
<many-to-one name="address" cascade="all"
unique="true" class="Address"
column="addressId"/>
C、基于主键的单向1——1关联:
eg:
<class name="Person">
<!-- 映射标识属性personid -->
<id name="personid" column="addressid">
<!-- 基于主键关联时,主键生成策略是foreign,
表明根据关联类的主键来生成本表主键 -->
<generator class="foreign">
<!-- 指定引用关联实体的属性名 -->
<param name="property">address</param>
</generator>
</id>
<!-- 用于映射普通属性 -->
<property name="name" type="string"/>
<property name="age" type="int"/>
<!-- 下面映射基于主键的1-1关联 -->
<one-to-one name="address"/>
</class>
双向1——1关联:
需要在两边实体类中增加引用关联实体的属性:
A、 基于外键的双向1——1关联:
基于外键的1——1关联,外键可以存放在任意一端,
- 存放的一端要增加many-to-one元素,并添加unique=”true“,
- 另一端使用one-to-one元素,使用property-ref指定引用关联类的属性;
eg:
Preson.hbm.xml
<!-- one-to-one元素映射关联属性,外键列在对方的表内
person-ref指定引用关联类的属性。
即:在address属性所属的Address类内,
必须有person属性的setter和getter方法 -->
<one-to-one name="address" property-ref="person"/>
Address.hbm.xml
<!-- 使用many-to-one映射1-1关联实体
unique="true"确定为1-1-->
<many-to-one name="person" unique="true"
column="person_id" not-null="true"/>
B、基于主键的双向1——1关联:
主键映射策略,一端的主键生成器必须使用foreign策略,表名根据对方的主键生成策略来生成自己的主键本实体不能拥有自己的主键生成策略;
eg:
Preson.hbm.xml
<!-- one-to-one元素映射关联属性 -->
<one-to-one name="address"/>
Address.hbm.xml
<!-- Address持久化类-->
<class name="Address">
<!-- 映射标识属性addressid -->
<id name="addressid">
<!-- 指定foreign主键生成器策略-->
<generator class="foreign">
<!-- 指定根据主键将根据person属性引用的
关联实体的主键来生成-->
<param name="property">person</param>
</generator>
</id>
<!-- 映射普通属性addressdetail -->
<property name="addressdetail"/>
<!-- 用于映射关联属性 -->
<one-to-one name="person"/>
</class>
C、有连接表的双向1——1关联:
用的比较少,只给出例子:
eg:
Preson.hbm.xml
<!-- 使用join元素强制使用连接表 -->
<join table="person_address" inverse="true">
<!-- 映射连接表中参照本实体主键的外键列 -->
<key column="person_id" unique="true"/>
<!-- 映射1-1关联实体 -->
<many-to-one name="address" class="Address"
unique="true" column="address_id"/>
</join>
Address.hbm.xml
<!-- 使用join元素强制使用连接表 -->
<join table="person_address" optional="true">
<!-- 映射连接表中参照本实体主键的外键列 -->
<key column="address_id" unique="true"/>
<!-- 映射1-1关联实体 -->
<many-to-one name="person" class="Person"
unique="true" column="person_id" />
</join>
发表评论
-
hibernate 无主键 多表连接 更新数据
2009-12-23 15:23 2210今天遇到一个问题: 客户给了我 3张表; 这三张表 分别是从 ... -
hibernate 没有id属性 怎么更新数据
2009-12-23 14:39 3998今天用hibernate 查了几个 ... -
Hibernate的各种保存方式的区别
2009-10-23 10:03 980hibernate对于对象的保存提供了太多的方法,他们之间有很 ... -
hibernate继承映射
2009-09-05 11:13 1961A、采用subclass元素的继承映射: 采用这种方 ... -
hibernate映射文件one-to-many元素属性
2009-09-04 17:18 3557单向1——N关联关系的持久化类发生了改变,持久化类里需要使用集 ... -
hibernate映射集合属性
2009-09-02 15:43 1475hibernate映射集合属性通 ... -
hibernate中控制Insert 和 Update 语句的映射属性
2009-08-31 09:36 2921控制Insert 和 Update 语句的映射属性<pr ... -
hibernate映射文件many-to-many元素属性
2009-08-31 08:50 2867N-----N column(可选): 这个元素的外键关键字 ... -
hibernate映射文件property 元素属性
2009-08-31 08:49 3165property 元素 name:映射类属性的名字 ... -
hibernate映射文件many-to-one 元素属性
2009-08-31 08:48 3744many-to-one 元素 属性: name ... -
hibernate映射文件set 元素属性
2009-08-31 08:46 1896set 元素 属性: name:映射类属性的名字 ac ... -
hibernate映射文件id元素属性详解
2009-08-31 08:45 1475id 元素 属性: name: ... -
hibernate映射文件一级子元素详解
2009-08-31 08:44 1540子元素: meta:设置类或属性的元数据属性 subsel ... -
hibernate映射文件class元素属性详解
2009-08-31 08:42 1805class元素 属性: name:持久化类的全名 ta ... -
hibernate映射文件一级子元素属性详解
2009-08-31 08:42 800一级子元素: meta:用于设置类或属性的元数据属性 ty ... -
hibernate映射文件根元素属性详解
2009-08-31 08:40 1138根元素hibernate-mapping 属性: sche ...
相关推荐
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联...
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联...
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联...
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联...
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联,...
以下是这个例子的Hibernate映射文件: <component name="Name" class="eg.Name"> <!-- class attribute optional --> 人员(Person)表中将包括pid, birthday, initial, first和 last等字段...
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联...
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 三重关联...
一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联,涉及...
Hibernate参考文档 ...24.4.1. "Typed" one-to-one association 24.4.2. Composite key example 24.4.3. Content based discrimination 24.4.4. Associations on alternate keys 25. 最佳实践(Best Practices)
一对一(One-To-One) 使用@OneToOne注解建立实体Bean之间的一对一关联。一对一关联有三种情况:(1).关联的实体都共享同样的主键,(2).其中一个实体通过外键关联到另一个实体的主键(注意要模拟一对一关联必须在外键列...
一对多关联(One-to-many Associations) 7.3. 高级集合映射(Advanced collection mappings) 7.3.1. 有序集合(Sorted collections) 7.3.2. 双向关联(Bidirectional associations) 7.3.3. 三重关联...
符合Java习惯的关系...24.4.1. \"Typed\" one-to-one association 24.4.2. Composite key example 24.4.3. Content based discrimination 24.4.4. Associations on alternate keys 25. 最佳实践(Best Practices)
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 三重关联...
7.2.5. 一对多关联(One-to-many Associations) 7.3. 高级集合映射(Advanced collection mappings) 7.3.1. 有序集合(Sorted collections) 7.3.2. 双向关联(Bidirectional associations) 7.3.3. 三重关联...
hibernate 3中的缓存小结 2.2. 一级缓存的管理: 当应用程序调用Session的save()、update()、savaeOrUpdate()、get()或... <one-to-many class="org.qiujy.domain.cachedemo.Product"/> </hibernate-mapping>
6.2.5. 一对多关联(One-to-many Associations) 6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联,...
7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联关系 156 7.2.1 [set]元素的inverse属性 161 7.2.2 级联删除 163 7.2.3 父子关系 164 7.3 映射一对多双向自身...
7.1.1 [many-to-one]元素的not-null属性 153 7.1.2 级联保存和更新 155 7.2 映射一对多双向关联关系 156 7.2.1 [set]元素的inverse属性 161 7.2.2 级联删除 163 7.2.3 父子关系 164 7.3 映射一对多双向自身...
通常和<one-to-one>联合起来使用。 * 例:@Id * @GeneratedValue(generator = "idGenerator") * @GenericGenerator(name = "idGenerator", strategy = "foreign", * parameters = { @Parameter(name = "property...