码迷,mamicode.com
首页 > 其他好文 > 详细

JPA映射关系

时间:2019-07-28 19:50:39      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:rate   ima   class   too   ash   唯一外键   ring   list   维护   

关系:

实体关系是指实体与实体之间的关系,从方向上分为单向关联和双向关联,从实体数量上分为一对一、一对多、多对多等。对于任何两个实体,都要从这两个方面区分它们之间的关系。

一对一两种配置方式:

  1:主键共享(把一个实体的主键配置为另外一个实体的主键)

  2:配合唯一外键

技术图片

 

单项一对多

  :配置一个实体的外键     数据库外键存在多方,最好让多方来维护外键 ,一方放弃管理维护

技术图片

 

双向多对一/双向一对多

 

public class ProductDir {

 

  @Id

 

  @GeneratedValue

 

  private Long id;

 

  private String name;

 

  @OneToMany

 

  @JoinColumn(name="dir_id")

 

  private Set<Product> products = new HashSet<Product>();

 

  

 

@Entity

 

public class Product {

 

  @Id

 

  @GeneratedValue

 

  private Long id;

 

  private String name;

 

  @ManyToOne(fetch = FetchType.LAZY) // 实现延迟加载

 

  @JoinColumn(name = "dir_id")

 

  private ProductDir dir;

集合映射的类型

  1.list     PersistentBag(有序,可以重复

     2.set     PersistentSet(无序,不可以重复

 

级联

    :

    级联保存  PERSIST

    级联删除  REMOVE

    全部    ALL

    孤儿删除 orphanRemoval = true (从一方解除关系,让多方外键置为空)

 

单项多对多

    

  @ManyToMany

       @joinTable 中间表配置

  joinColumns:首 个列名   inverseJoinColumns: 下个列名

    实体类没什么变化   默认懒加载  只配置一个实体类

双向多对多

      列Teacher/Student

技术图片

 

 技术图片

 

 

 

 

 

 

 

 

 

 

 

JPA映射关系

标签:rate   ima   class   too   ash   唯一外键   ring   list   维护   

原文地址:https://www.cnblogs.com/1999wang/p/11260386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!