<many-to-one
name="属性名"
column="外键字段名" //可选,默认与name同值。也可以用嵌套的 <column>元素。
class="关联的完整类名"//可选,默认是通过反射得到属性类型。
entity-name="被关联类的实体名" > //待研究
lazy="true|false(默认)" //待研究
cascade="none(默认)|all|save-update|delete|delete-orphan" //级联风格可组合,待研究
//all : 所有操作都传递到相关联的对象,待研究
//save-update 保存和更新传递到相关联的对象。假定该配置文件的对象是主体,只有对主体save或者update时,该设置生效。
//delete 删除操作传递到相关联的对象,待研究
//delete-orphan : 所有操作都传递到相关联的对象 并删除不再与父对象关联的对象。待研究
fetch="join|select(默认)" // 待研究
update="true(默认)|false"
insert="true(默认)|false" //同property的udpate、delete,是否更新和删除。
property-ref="关联类的属性值" // (可选) 指定关联类的一个属性,作为外键的值。 默认是关联类的主键。
not-found="ignore|exception(默认)" // property-ref引用的数据不存在时如何处理: ignore设为null。
access="field|property(默认)|ClassName" //Hibernate用来访问属性的策略。 待研究。
unique="true|false" //使用DDL为外键字段生成一个唯一约束。此外, 这也可以用作 property-ref的目标属性。这使关联同时具有 一对一的效果。 待研究。
not-null="true|false" //使用DDL为外键字段生成一个非空约束。 待研究
optimistic-lock="true(默认)|false" //是否需要获得乐观锁定(optimistic lock),它决定这个属性发生脏数据时版本(version)的值是否增长。
</many-to-one>
分享到:
相关推荐
本话题主要探讨两种基本的关系映射类型:many-to-one(多对一)和one-to-many(一对多)。这两种关系映射是数据库中常见的关联类型,理解和掌握它们对于开发高质量的Java应用至关重要。 1. many-to-one关系 many-to...
对于`Department`,映射文件中会有一个`<class>`标签,其中包含`<set>`标签来定义员工集合,并且使用`<many-to-many>`或`<one-to-many>`标签来映射与`Employee`的关系。对于`Employee`,我们使用`<class>`标签,并在...
在 `Book` 类中,我们可以添加一个指向 `Author` 的属性,并在映射文件中使用 `<one-to-one>` 标签。 ```xml <class name="Book" table="BOOK"> <!-- 其他属性的映射 --> <one-to-one name="author" class=...
在Hibernate中,可以通过 `<many-to-one>` 或者 `<one-to-many>` 标签中的 `cascade` 属性来指定这种行为。 #### 代码示例解析 在提供的代码示例中,`<many-to-one>` 标签中包含了 `cascade` 属性的注释示例,但是...
关联映射的本质: 将关联关系映射到数据库,所谓的...<many-to-one>会在多的一端加入一个外键,指向一的一端,这个外键是由<many-to-one> 中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致
在Hibernate的hbm.xml文件中,一对一关系通过<one-to-one>标签,一对多关系通过<list>、<set>、<map>或<bag>标签来定义。需要详细指定实体类名、主键列名以及关联的外键列名。 2. 注解配置: 在实体类上直接使用@...
<one-to-many class="Employee"/> </bag> </class> <class name="Employee"> <id name="Id" column="EmployeeId"> <generator class="native"/> </id> <property name="Name" column="Name"/> <many-to-one ...
而`Classes.hbm.xml`则使用了`<set>`和`<one-to-many>`元素,表示班级对象包含一个学生集合,且每个学生都有对应的`id`。 在处理这种关联关系时,需要注意的是效率问题。由于Hibernate默认会在"一"端更新关联关系,...
在映射文件中,我们使用`<one-to-one>`标签,并通过`constrained`属性来指定约束。例如,Person和IdCard的单向关联映射可以通过以下方式配置: ```xml <!-- Person映射 --> <id name="id"> <generator class=...
在上面的配置中, `<many-to-one>` 标签指定了Person实体与IdCard实体之间的一对一唯一外键关联关系,其中unique="true"指定了多的一端的多重性为一。 Hibernate 一对一唯一外键关联映射的应用 在实际应用中,一对...
配置时,需要指定`class`属性为当前实体类,并使用`<one-to-many>`标签指定关联的属性。 ```xml <!-- Department的配置 --> <set name="subDepartments" table="department" inverse="true"> <key column="parent_...
- **单向**:在一方的映射文件中,使用 `<set>` 标签定义一个集合属性,`<key>` 标签指明外键列,`<one-to-many>` 指定被引用的实体类。例如,班级(Classes)与学生(Student)的关系。 - **双向**:除了在一方的...
<one-to-many class="com.suxiaolei.hibernate.pojos.Order"/> </set> </class> </hibernate-mapping> ``` 在上面的配置中,`<set>`元素定义了一个名为`orders`的集合,用于存放所有与当前消费者相关的订单。`...
这个时候你就应该考虑一下使用one-to-many关联是否会更恰当。 尝试对这个组合元素重新建模为一个实体-但是需要注意的是,虽然Java模型和重新建模前是一样的,关系模型和持久性语义会有细微的变化。 请注意如果你...
这里,`<one-to-one>`标签用于`Address`类,而`Company`类则使用`<many-to-one>`标签来表示与`Address`的一对一关系。`cascade="save-update"`属性意味着当一方实体被保存或更新时,关联的另一方实体也会自动进行...
<one-to-many class="com.example.Address"/> </set> ``` #### 2.1.5 一对多连接表单向关联 与一对一类似,但涉及多方,`<join>`标签用于连接表。 #### 2.1.6 多对一外键单向关联 多个实体可以关联到一个实体,如...
- `<one-to-one>`元素指定了关联的实体类。 3. **测试代码**: ```java Employees employee = new Employees(); employee.setEmpName("chenmp"); employee.setEmpEmail("chenmp@di.com"); Event event = new ...
<one-to-many class="Employee"/> </set> </class> <!-- 员工类配置 --> <class name="Employee"> <id name="id"> <generator class="increment"/> </id> <!-- 部门引用 --> <many-to-one name="department...
这是我花费4天的时间做的北大青鸟...如何使用好Criteria限制查询条件、怎样用好<many-to-one>和<one-to-many>标签,怎样进行增加验证......经历过项目才会对知识有更深层次的掌握,本资料对初学者一定很有帮助。
- `<many-to-one>`、`<one-to-many>`、`<one-to-one>`、`<many-to-many>`:分别表示不同类型的关联关系。 ##### 2.2 基本映射示例 以一个简单的用户(User)与地址(Address)为例,假设有一个用户表(users)和一...