Hibernate的单向OneToMany、单向ManyToOne
2015-09-15 02:47
411 查看
单向OneToMany
一个用户有多张照片,User----->Images是一对多关系,在数据库中Images维护一个外键useid
1、在映射关系的主控方Image这边,我们什么都不做。(为什么说Images是主控方呢?因为外键又Images维护)
2、在映射关系的被控方User这边,需要添加@OneToMany、@JoinColumn注解
单向ManyToOne
多个用户属于一个国家,User----->Country是多对一关系,在数据库中User维护一个外键countryid
1、在映射关系的主控方User这边,需要添加@ManyToOne、@JoinColumn注解
2、在映射关系的被控方Country这边,我们什么都不做
单向关联总结
1、表A需要获取关联表B的数据,那么表A就要在自己的实体定义里面设置相关注解,而表B不需要设置
2、@JoinColumn注解的name属性一定是外键的名字
一个用户有多张照片,User----->Images是一对多关系,在数据库中Images维护一个外键useid
1、在映射关系的主控方Image这边,我们什么都不做。(为什么说Images是主控方呢?因为外键又Images维护)
2、在映射关系的被控方User这边,需要添加@OneToMany、@JoinColumn注解
public class User{ @OneToMany(cascade=CascadeType.ALL) @JoinColumn(name="userid")//注释的是另一个表Images指向本表的外键。 List<Image> images; public List<Image> getImages() { return images; } public setImages(List<Images> img) { images = img; } }
单向ManyToOne
多个用户属于一个国家,User----->Country是多对一关系,在数据库中User维护一个外键countryid
1、在映射关系的主控方User这边,需要添加@ManyToOne、@JoinColumn注解
public class User{ @OneToMany(cascade=CascadeType.ALL) @JoinColumn(name="countryid")//注释的是另一个表Images指向本表的外键。 Country country; public Country getCountry() { return country; } public setCountry(Country cou) { country = cou; } }
2、在映射关系的被控方Country这边,我们什么都不做
单向关联总结
1、表A需要获取关联表B的数据,那么表A就要在自己的实体定义里面设置相关注解,而表B不需要设置
2、@JoinColumn注解的name属性一定是外键的名字
相关文章推荐
- javascript DOM编程艺术笔记——CH5 Best practise
- 黑马程序员——面向对象(继承+抛出异常)-第20天
- javascript DOM编程艺术笔记——CH3 DOM
- [hdu5439 Aggregated Counting]公式化简,预处理
- Linux运维练习--程序员包管理rpm与yum
- C++ Pirmer : 第十五章 : 面向对象程序设计之基类和派生的定义、类型转换与继承与虚函数
- Linux运维练习--Linux文件系统管理
- 俞敏洪的作息时间表
- Leetcode: Longest Palindromic Substring
- MySQLの理解备份选项
- ZigZag Conversion
- Four Arithmetic Operation
- 为什么常说程序员35岁是道坎?
- MySQLの执行MySQL备份
- Android开发之万能适配器
- Valid Anagram 解答
- VMware Fusion 启动物理磁盘及U盘的方法
- C++动态库导出类
- Android笔记(二十八) Android中图片之简单图片使用
- XHTML表单