在我的应用中,我有以下@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_lesson
和ReservedLessons_ID
的表格reservedLessons_ID
。但是,当我运行应用程序时,该表只有1列ReservedLessons_ID
。
在我的应用中,我还有其他几个@OneToMany
关系,所有这些关系都有一个包含2列的表。如果你能告诉我我做错了什么,我将非常感激。
答案 0 :(得分:0)
您应该在映射的另一侧使用@ManyToOne使其成为双向的(example)
答案 1 :(得分:0)
我发现了问题。当我命名我的ReservedLessons
实体及其reservedLessons
属性时,我不小心。由于MySQL中的2个列名实际上是相同的,因此我的连接表缺少它应该具有的列。将ReservedLessons
更改为ReservedLesson
后,我的联接表现在有2列ReservedLesson_ID
和reservedLessons_ID
符合预期。