您的位置:首页 > 其它

【Hibernate框架开发之六】Hibernate中Annotation的关系映射&&组件映射!

2012-05-25 19:26 447 查看
本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/hibernate/821.html

          ☞ 点击订阅 ☜
本博客最新动态!及时将最新博文通知您!准备工作,新建两个实体类如下:Husband.class:
wife.class:
生成数据库如下:OK, 下面开始: 1. 一对一: 1.1 单向外键关联使用注解 @OneToOne当前Husband类中有一个wife对象,将其注解成OneToOne即可,那么观察生成的两张表如下:
其中如果想更改注解 @OneToOne默认为我们生成的Wife_id名,可以使用@JoinColumn(name=”xxx”) 即可; 1.2. 双向外键关联 :仍然使用注解 @OneToOne但是如果是双向关联,必须设置其@OneToOne(mappedBy=”xxx”) xxx表示对方那里是主导属性名”1.3 单向主键关联:在@OneToOne 下继续使用注解:@PrimaryKeyJoinColumn 即可 ; 1.4 双向主键关联在另外一个关联类中,@OneToOne 下也继续使用注解:@PrimaryKeyJoinColumn2. 一对一联合主键映射:类似其他映射,只是联合主键在自定义名字时,不能使用 @JoinColumn,而是使用如下形式:
这里wifeId和wifeName是自定义主键名,referencedColumnName则对应其主键名; 3.(嵌入式对象)组件映射:将另外一个类成为实体类的一部分进行映射;注意:1.成为其他实体类一部门的类不要注解为@Entity 实体类!2. 使用@Embedded 将其类注解即可;3.组件属性名名为了保证不与实体类属性名冲突,可以使用如下注解:3.1 使用如下形式:
3.2 在嵌入式对象里,对其属性使用@column进行设置; 4.多对一单向关联很容易,直接使用注解 @ManyToOne5. 一对多单向关联如果直接使用 @OneToMany 进行注解,默认Hibernate当成多对多进行映射,如果需要设置一对多,那么如下继续注解:@JoinColumn(name=”GroupId”) 加入这个即可让默认多对多,当成一对多处理; 6.一对多、多对一双向关联一对多,多对一双向关联属于一个映射;直接使用mappedBy即可( @OneToMany(mappedBy=”xxx”) ); 7. 多对多单向关联使用注解 @ManyToMany ,其中如果想自定义中间表的表名和类名可以使用 @JoinTable 关键字; 8.多对多双向关联关联两个实体类 @ManyToMany即可;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐