0
点赞
收藏
分享

微信扫一扫

JPA中的manytomany


 概念说明

ID

FIRSTNAME

LASTNAME

1

Bob

Way

2

Sarah

Smith

EMP_PROJ (table)

EMP_ID

PROJ_ID

1

1

1

2

2

1

PROJECT (table)

ID

NAME

1

GIS

2

SIG

JPA中的设置

@Entity
public class Employee {
  @Id
  @Column(name="ID")
  private long id;
  ...
  @ManyToMany
  @JoinTable(
      name="EMP_PROJ",
      joinColumns=@JoinColumn(name="EMP_ID", referencedColumnName="ID"),
      inverseJoinColumns=@JoinColumn(name="PROJ_ID", referencedColumnName="ID"))
  private List<Project> projects;
  .....
}

由于ManyToMany是新建一张关系表,所以注解是JoinTable。joinColumns关联起Employee类与关联表,而inverseJoinColumns则关联起引用类project与关联表的关系。 如果想在Project类里面也维护与Employee的关系,则只需要设置mappedBy即可。具体如下:

@Entity
public class Project {
  @Id
  @Column(name="ID")
  private long id;
  ...
  @ManyToMany(mappedBy="projects")
  private List<Employee> employees;
  ...
}


举报

相关推荐

0 条评论