【转】http://xiaoruanjian.iteye.com/blog/1094253
class Card{
Person getPerson(){}
mappedBy 单向关系不需要设置该属性,双向关系必须设置,避免双方都建立外键字段
把关系的维护交给多方对象的属性去维护关系
a) 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;
b) mappedBy标签一定是定义在the owned side(被拥有方的),他指向the owning side(拥有方);
c) 关系的拥有方负责关系的维护,在拥有方建立外键。所以用到@JoinColumn
d)mappedBy跟JoinColumn/JoinTable总是处于互斥的一方
cascade 设定级联关系,这种关系是递归调用
fetch 预加载策略和@Basic差不多FetchType.LAZY,FetchType.EAGER
比如Card(身份证)中的person(人)optional为false意味有身份证就必须有人对应,但是在实体Person中Card的optional为true意味有人不一定要有身份证。
name该外键的字段名,referencedColumnName外键对应主表的字段
所以要在person端的关联项设置外键@JoinColumn
双向多对多(实际开发中多对多通常是双向的)
name="teacher_student",
inverseJoinColumns={@JoinColumn(name="student_id",referencedColumnName="sid")}
joinColumns写的都是本表在中间表的外键名称,inverseJoinColumns写的是另一个表在中间表的外键名称。
单向多对多 更加简单略
相关推荐
**Hibernate 3 注解技术详解** 在Java世界中,Hibernate是一个强大的对象关系映射(ORM)框架,它极大地简化了数据库操作。 Hibernate 3引入了注解支持,使得开发人员无需XML配置文件即可进行对象持久化,提高了...
**hibernate 注解详解** Hibernate 是一个流行的Java ORM(对象关系映射)框架,它允许开发者使用面向对象的方式操作数据库。在 Hibernate 中,注解是实现数据持久化的重要手段,它极大地简化了传统XML配置文件的...
【Hibernate注解详解】 在Java世界中,Hibernate作为一款强大的对象关系映射(ORM)框架,使得开发者可以方便地在Java对象与数据库表之间建立映射。为了简化配置,Hibernate引入了注解机制,允许开发者在Java类和类...
这可以通过`@OneToOne`注解实现,可配置`mappedBy`属性来指定关联的反向字段。例如: ```java @Entity public class User { @OneToOne(mappedBy = "user") private Profile profile; } @Entity public class ...
- **示例**:假设有一个班级类(`Class`)和一个学生类(`Student`),其中`Student`类中定义了`@ManyToOne`类型的`class`字段,则`Class`类中可以使用`@OneToMany(mappedBy = "class")`来定义一对多关系。...
**Hibernate关联映射详解** 在Java的持久化框架中,Hibernate是一个非常强大的工具,它使得开发者可以更加方便地处理数据库操作。其中,关联映射是Hibernate的核心特性之一,它允许我们将对象模型与关系数据库模型...
《Hibernate注解详解》 Hibernate作为一款强大的Java持久化框架,极大地简化了数据库操作。在现代开发中,使用注解的方式进行配置已成为主流,它使得代码更加简洁且易于维护。本文将深入探讨Hibernate注解的使用,...
`mappedBy`属性指定了反向引用的属性名,`@JoinColumn`用于指定外键所在的列。 接下来,我们来看多对多关联映射。在数据库中,多对多关系表示两个表中的记录都可以相互关联。在Hibernate中,这通常通过中间表(或...
【Hibernate注解配置详解】 在Java的持久化框架中,Hibernate是一个非常重要的工具,它极大地简化了数据库操作。本文将深入探讨Hibernate的注解配置,包括实体类的注解、映射关系的定义以及事务管理等方面,帮助你...
《Hibernate注解详解》 在Java的持久化框架中,Hibernate以其强大的功能和灵活的配置深受开发者喜爱。本文将深入探讨Hibernate注解的使用,帮助读者理解如何通过注解简化对象关系映射(ORM)的过程。 一、...
**Hibernate注解详解** 在Java世界中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。自Hibernate 3开始,引入了注解(Annotation)支持,使得开发者无需XML配置就能实现对象与数据库...
### Hibernate注解与关系映射详解 #### 一、Hibernate注解基础 **1.1 @Entity** - **概述**:`@Entity`用于标记一个Java类为实体类,表明它是一个持久化对象,可以映射到数据库表。 - **参数**: - `name`:可选...
在这里,`mappedBy`属性用于指定对方实体中的字段,而`@JoinColumn`则用于指定外键所在的表和列。 2. **XML配置方式** 如果不使用注解,我们可以在`hibernate.cfg.xml`或`persistence.xml`中进行配置。例如: `...
在双向关联中,需要在两个实体类的属性上分别添加`@OneToMany`和`@ManyToOne`注解,并通过`mappedBy`属性指定关联的另一端。 ```java @Entity public class User { @Id private Integer id; // ... @OneToMany...
### Hibernate关系映射详解 #### 一、概述 Hibernate 是一款非常流行的 Java 持久层框架,它简化了对象关系映射 (Object Relational Mapping, ORM) 的过程,使得开发人员可以更加专注于业务逻辑的编写,而无需过多...
@OneToOne(mappedBy = "person", cascade = CascadeType.ALL) private Address address; // ... } @Entity public class Address { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; ...
### Hibernate的简单教程:关联映射详解 #### 引言 Hibernate是一个强大的对象关系映射(ORM)框架,用于在Java应用中简化数据库操作。它允许开发者以面向对象的方式处理数据库,而无需直接编写SQL语句。本文将...
《Hibernate Annotation 中文帮助文档详解》 Hibernate是一个流行的Java持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据库交互。在Hibernate中,Annotation是用于替代传统XML配置的一种...
### Hibernate注解(Annoatation)中文版详解 #### 版本:3.2.0CR1 在Java开发领域中,Hibernate作为一款流行的开源对象关系映射(ORM)框架,极大地简化了数据库操作。它允许开发者用面向对象的方式来处理数据库...