`
younglibin
  • 浏览: 1211032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate映射文件many-to-one 元素属性

阅读更多

many-to-one 元素

属性:

 

  1. name:映射类属性的名字
  2. column:关联的字段
  3. class:关联类的名字
  4. cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行save和update操作时级联、delete执行删除操作时级联
  5. fetch:设置抓取数据的策略 默认值为select序列选择抓取 可选值为join外连接抓取
  6. update:进行update操作时是否包含此字段
  7. insert:进行insert操作时是否包含此字段
  8. property-ref:指定关联类的一个属性,这个属性将会和本类的外键相对应(当外键参照一键时需要指定改属性)

 

单向N——1 关系 只需从多的一端访问1的一端;

应该在多的一端添加一个属性,改属性引用1端的关联实体;

 

A .-->无连接表的N——1 关联:

直接使用many-to-one 元素 来映射N——1 关联时,hibernate将无须使用连接表,直接使用外键关联策略来处理这种关联映射;

 

eg:

<!-- 用于映射N-1关联实体,指定关联实体类为Address
   指定外键列名为addressId,并指定级联全部操作 -->

  <many-to-one name="address" cascade="all"
   class="Address" column="addressId"/>

 

B.-->用连接表的N——1关联:

如果需要使用连接表来映射单向N——1关联,需要显示使用<join.../>该元素强制将一个类的属性映射到多张表中,通常也用于强制使用连接表!

         join元素:

table:指定连接表名;

schema:指定连接表所在的Schema,用于覆盖根元素的default-Schema属性;

catalog:指定连接表所在的Catalog,用于覆盖根元素的default-Catalog属性;

 

 

eg:

 

 

<!-- 使用join元素强制使用连接表 -->
   <join table="person_address" >
        <!-- 映射连接表中参照本表主键的外键列 -->
        <key column="personid"/>
        <!-- 映射连接表中参照关联实体的外键列 -->
        <many-to-one name="address" cascade="all"
                  class="Address" column="addressId"/>

    </join>

 

 

 

 

分享到:
评论
1 楼 home309 2010-08-26  
       

相关推荐

    hibernate学习5之one-to-many双向关联.docx

    在XML映射文件中,`Student.hbm.xml`包含了`&lt;many-to-one&gt;`元素,表示学生对象引用了一个班级对象,通过`classesid`列连接。而`Classes.hbm.xml`则使用了`&lt;set&gt;`和`&lt;one-to-many&gt;`元素,表示班级对象包含一个学生...

    Hibernate one-to-many-annotation

    在Hibernate中,`one-to-many`关系是常见的实体间关系之一,表示一个实体可以与多个其他实体相关联。本文将深入探讨`Hibernate one-to-many`注解的使用和实现细节。 ### 一、`@OneToMany`注解概述 `@OneToMany`...

    Hibernate实现many-to-many的映射关系

    3. 在对应的映射文件中,使用`&lt;set&gt;`和`&lt;one-to-many&gt;`或`&lt;many-to-one&gt;`元素配置映射关系。 4. 如有必要,可以考虑将多对多关系转换为一对多,以优化性能和操作性。 理解并熟练掌握这些概念和实践,将有助于在使用...

    Hibernate-one-to-many

    本文将深入探讨Hibernate中一对多(One-to-Many)关系的处理方式,特别是通过外键映射和inverse属性的应用场景。 #### 一对多关系概念 一对多关系在数据库设计中非常常见,它指的是一个实体可以与多个其他实体关联...

    hibernate中one2many映射

    在Java的持久化框架Hibernate...综上所述,Hibernate中的One-to-Many映射涉及了映射文件的编写、Domain对象的设计、数据库配置以及CRUD操作。理解并熟练掌握这些内容,将有助于你在实际项目中高效地处理多对一的关系。

    Hibernate 映射文件 结构

    5. **&lt;many-to-one&gt;**:一对多关系映射,表示一个实体类的某个属性引用了另一个实体类的一个实例。 6. **&lt;one-to-many&gt;**:多对一关系映射,与`&lt;many-to-one&gt;`相反,表示一个实体类的一组实例引用了另一个实体类的...

    Hibernate映射笔记

    - `&lt;one-to-one&gt;`、`&lt;many-to-one&gt;`、`&lt;one-to-many&gt;`和`&lt;many-to-many&gt;`:分别用于一对一、一对多、多对一和多对多的关系映射,通过`&lt;class&gt;`元素的嵌套和属性如`inverse`、`cascade`等来控制关系的维护方式和级联...

    hibernate many to one

    在Java的持久化框架Hibernate中,"Many-to-One"关系是一种常见的关联映射类型,它表示一个实体(类)可以与多个其他实体实例相关联。在这个主题中,我们将深入探讨Hibernate如何处理这种关系,以及如何在实际编程中...

    Hibernate配置文件中映射元素详解

    - **一对一映射**:使用`&lt;many-to-one&gt;`元素表示,如`&lt;many-to-one name="friend" column="friend_id" update="false"/&gt;`。 - **一对多映射**:使用`&lt;set&gt;`元素配合`&lt;one-to-many&gt;`元素表示,例如: ```xml ...

    Hibernate关联映射

    这种关联可以通过在 `many-to-one` 元素中添加 `unique="true"` 属性实现。例如,在 Person 类中,有一个 Address 的属性,通过外键 `addressId` 与 Address 表关联,并设置 `unique="true"`,使得 Address 对象只能...

    hiberate映射详解

    使用 `many-to-one` 元素在子类中定义对父类的引用,同时在父类中使用 `one-to-many` 元素声明子类的集合。外键通常位于子类的表中。例如,一个部门可以有多名员工,部门类可以定义一个 Employee 集合。 3. **多对...

    hibernate 关联映射(一) many to one

    总结一下,Hibernate中的Many to One关联映射涉及实体类的设计、注解的使用以及映射文件的配置。正确地设置这些可以使得Java对象和数据库之间的交互变得简单而高效。在实际项目中,理解并熟练掌握这种映射方式对于...

    NHibernate One-to-Many一对多映射-xxlinux_com

    `&lt;one-to-many&gt;`元素指定了子实体的类型。 在C#代码中,`User`类会有一个`Orders`属性,它是`Order`类型的集合: ```csharp public class User { public virtual int Id { get; set; } // ...其他属性... ...

    Hibernate映射

    可以使用`@OneToOne`注解或在XML文件中定义`one-to-one`元素来实现。 **四、一对多(One-to-Many)映射** 在实体类中,使用`@OneToMany`注解或者在XML中配置`bag`、`list`、`set`等集合类型来表示一对多关系。可以...

    Hibernate映射配置实例大全(详细总结)

    例如,我们可以用`&lt;id&gt;`标签来标识主键,`&lt;property&gt;`标签映射普通字段,而`&lt;one-to-one&gt;`, `&lt;many-to-one&gt;`, `&lt;one-to-many&gt;`, 和 `&lt;many-to-many&gt;`则用于描述关联关系。 进一步,Hibernate提供了注解方式进行映射...

    hibernate5.2版本配置和映射dtd文件

    5. `&lt;one-to-one&gt;`, `&lt;many-to-one&gt;`, `&lt;one-to-many&gt;`, `&lt;many-to-many&gt;`:定义不同类型的关联关系。 例如: ```xml &lt;hibernate-mapping package="com.example"&gt; ... &lt;many-to-one name="department...

    hibernate的dtd文件

    例如,一个简单的映射文件可能包含`&lt;class&gt;`元素来指定Java类,`&lt;id&gt;`元素表示主键,`&lt;property&gt;`元素表示普通字段,而`&lt;many-to-one&gt;`或`&lt;one-to-many&gt;`元素则用于定义一对多或多对一的关系。 在实际开发中,理解...

    Hibernate的配置详解

    在映射文件中,使用`one-to-one`元素定义这种关系,指定对方实体的类名和属性名。 2. 一对多关系(One-to-Many): - 一个实体对象可以对应多个其他实体对象的实例,通常在多方的一端使用`List`或`Set`来存储关联...

    Hibernate映射集合属性List

    &lt;one-to-many class="com.example.Order"/&gt; ``` 3. **自动创建表:** Hibernate提供了一个非常方便的功能,即可以根据实体类自动创建对应的数据库表。只需在`hibernate.cfg.xml`中设置`hbm2ddl.auto`属性为`...

Global site tag (gtag.js) - Google Analytics