一对一关系映射
来源:互联网 发布:网络网线接那几根线 编辑:程序博客网 时间:2024/05/19 01:06
个人总结
两端都需要配置@onetoone,但需要映射外键维护关系的一端,额外添加 @joinColumn 属性。
含有外键的一端需要添加unique属性,没有外键的就设置mappedBy,自己不维护关系。
含有主键的一方默认是立即加载机制,但可以通过fetch 属性调整,但是没有主键的一端,无论如何更改fetch,都是立即加载,会额外发送一条查询语句。
原因是,含有外键的一方可以根据外键判断是否为空,是否关联等关系,所以可以立即加载也可以用代理。但是没有外键的一方,无法知晓。只能立即查询。
- 无聊的一点,先插入没有外键的,可以省去一条update语句。
双向一对一映射
基于外键的 1-1 关联关系:在双向的一对一关联中,需要在关系被维护端(inverse side)中的 @OneToOne 注释中指定 mappedBy,以指定是这一关联中的被维护端。同时需要在关系维护端(owner side)建立外键列指向关系被维护端的主键列。
@OneToOne(mappedBy="department") public Manager getManager() { return manager; }@JoinColumn(name="dept_id",unique=true) @OneToOne(fetch=FetchType.EAGER) public Department getDepartment() { return department; }@Test public void TestBetweenOneToOne(){ Manager manager=new Manager(); manager.setName("jingli"); Department department=new Department(); department.setName("jinglis"); //设定关系 department.setManager(manager); manager.setDepartment(department); //保存 entityManager.persist(manager); entityManager.persist(department); }
阅读全文
0 0
- 一对一关系映射
- Hibernate关系映射一对一
- hibernate 映射关系 一对一
- 一对一关联关系映射
- 一对一关系映射:
- hibernate关系映射 一对一
- 详解一对一关系映射
- Hibernate一对一关系映射
- Mybatis 一对一关系映射
- Hibernate一对一关系映射
- 映射一对一关联关系
- MyBatis一对一关系映射
- hibernate一对一映射关系
- 一对一关系映射
- Hibernate关系映射一对一
- MyBatis一对一关系映射
- 一对一关系映射
- hibernate映射关系一对一映射
- 计算机视觉如何入门
- Apache 使用ssl模块配置HTTPS
- vscode golang详细配置(持续更新)
- 激活world
- 解决Springboot使用FastJson 返回中文乱码的问题
- 一对一关系映射
- Scrapy爬虫框架学习笔 二 CrawlSpider的使用
- 用grunt搭建自动化的web前端开发环境-完整教程
- SDUT 2117-数据结构实验之链表二:逆序建立链表
- vue数组中有相同的数据处理
- 吴恩达深度学习笔记之改善神经网络(二)
- heatmap学习笔记
- Java树形结构
- WPF与MVVM的实现(五)注册路由事件