JPA @OneToMany关系表没有足够的列

时间:2012-01-31 09:55:28

标签: java jpa relationship jpa-2.0

在我的应用中,我有以下@OneToMany关系:

@Entity
public class ReservedLessons extends ReservedSessions implements Serializable {

    @OneToMany(cascade={CascadeType.PERSIST})
    private List<Lesson> reservedLessons;

}

@Entity
public class Lesson extends Sessions implements Serializable { ... }

我希望看到包含2列reservedlessons_lessonReservedLessons_ID的表格reservedLessons_ID。但是,当我运行应用程序时,该表只有1列ReservedLessons_ID

在我的应用中,我还有其他几个@OneToMany关系,所有这些关系都有一个包含2列的表。如果你能告诉我我做错了什么,我将非常感激。

2 个答案:

答案 0 :(得分:0)

您应该在映射的另一侧使用@ManyToOne使其成为双向的(example

答案 1 :(得分:0)

我发现了问题。当我命名我的ReservedLessons实体及其reservedLessons属性时,我不小心。由于MySQL中的2个列名实际上是相同的,因此我的连接表缺少它应该具有的列。将ReservedLessons更改为ReservedLesson后,我的联接表现在有2列ReservedLesson_IDreservedLessons_ID符合预期。