【发布时间】:2012-02-23 01:12:36
【问题描述】:
在我的应用中,我有以下@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 { ... }
我希望看到表格reservedlessons_lesson 有两列ReservedLessons_ID 和reservedLessons_ID。但是,当我运行该应用程序时,该表只有 1 列 ReservedLessons_ID。
在我的应用程序中,我还有其他几个 @OneToMany 关系,它们都有一个包含 2 列的表。如果你能告诉我我做错了什么,我将不胜感激。
【问题讨论】:
-
为什么期望看到有 2 列的表 reservedlessons_lessons?您是否配置了持久性以创建数据库表?否则我无法理解你的句子。能否也展示一下 ReservedSessions Entity 的定义?
-
@perissf:我希望看到一个有 2 列的表,因为有了
@OneToMany关系,JPA 会自动创建该表来记录关系。 -
你的意思是加入表?因为你还没有定义它使用一个。
-
@DataNucleus:我还有其他
@OneToMany关系,我也没有指定任何内容,但他们有自己的表格。事实上,这个也有一个表,但它似乎缺少 1 列。 -
根据 JPA 规范,仅带有 OneToMany 注释且没有 JoinTable 注释不应给出连接表。你没有说哪个是你的 JPA 实现
标签: java jpa relationship jpa-2.0