JPA:我们可以在ManyToMany关系的两边使用不同的集合类型吗?

时间:2011-12-07 10:45:07

标签: java hibernate orm jpa-2.0

我们可以在一个实体中使用java.util.List,在java.util.Set关系的相关实体中使用ManyToMany吗?例如:

@Entity
public class Employee {

  @Id
  @Column(name="EMP_ID")
  private long id;
  ...

  @ManyToMany
  @JoinTable(
      name="EMP_PROJ",
      joinColumns={@JoinColumn(name="EMP_ID", referencedColumnName="EMP_ID")},
      inverseJoinColumns={@JoinColumn(name="PROJ_ID", referencedColumnName="PROJ_ID")})
  private Set<Project> projects;
  ...
}

@Entity
public class Project {

  @Id
  @Column(name="PROJ_ID")
  private long id;
  ...

  @ManyToMany(mappedBy="projects")
  private List<Employee> employees;
  ...
}

1 个答案:

答案 0 :(得分:2)

是的,你可以。你为什么不试试呢?

项目可能希望雇员按特定顺序进行,而员工可能只想拥有一组项目。