0

我根据下图使用 NetBeans (EclipseLink JPA) 生成了实体:

在此处输入图像描述

相关生成代码为:

Course

@JoinTable(name = "course_software", joinColumns = {
    @JoinColumn(name = "course_id", referencedColumnName = "id", nullable = false)}, inverseJoinColumns = {
    @JoinColumn(name = "software_id", referencedColumnName = "id", nullable = false)})
  @ManyToMany
  private List<Software> softwareList;

Software

@ManyToMany(mappedBy = "softwareList")
  private List<Course> courseList;

问题出在Course实体上。当我尝试按如下方式坚持时

getFacade().create(currentCourse);
currentCourse.setSoftwareList(selectedSoftware);

然后在 中创建一条记录course,但在course_software连接表中没有创建任何内容。

这是如何引起的,我该如何解决?

4

1 回答 1

0

只要连接表中引用的列已经是主键,您似乎不需要指定注释的referencedColumnName属性。@JoinColumn

于 2013-10-04T10:11:36.100 回答