JPA 辅助表问题

Posted

技术标签:

【中文标题】JPA 辅助表问题【英文标题】:JPA Secondary Table Issue 【发布时间】:2010-01-31 20:04:11 【问题描述】:

我有三个表:User、Course 和 Test。

Course 有一个 User 外键,Test 有一个 Course 外键。我在为每个用户映射测试集合时遇到问题,因为我需要从用户 -> 课程 -> 测试的中间步骤。我正在尝试使用 SecondaryTable,因为 Test 的 User 键是其关联的 Course 行。

我是否在使用 SecondaryTable 的正确轨道上,或者有没有办法在没有 inverseJoinColumn 的情况下使用 JoinTable?

【问题讨论】:

【参考方案1】:

我是在使用 SecondaryTable 的正确轨道上,还是有办法在没有 inverseJoinColumn 的情况下使用 JoinTable?

我不这么认为,指定二级表表示实体的持久化数据是跨多个表存储的,这里不完全是这样。

但是如果没有看到你的实体和关系,就很难说更多。顺便问一下,您是否拥有数据库的控制权(即您可以更改某些内容)吗?

【讨论】:

在这种情况下我将如何构建 JoinTable?我确实对架构有影响。我会向您展示这些实体,但我很确定它们是问题的一部分。这里的主要问题是我想从课程集合中的每门课程中获取学生集合。 @Smithers 如果您可以修改模式,只需像您想在对象级别使用它一样对其进行建模。恕我直言,您正在尝试做的事情太麻烦了。

以上是关于JPA 辅助表问题的主要内容,如果未能解决你的问题,请参考以下文章

SQL,数字辅助表

有条件地保存辅助表对象

如何使用辅助键进行 ets 表查找

如何删除辅助表中的条目

org.hibernate.AnnotationException:找不到预期的辅助表

SQLAlchemy,自引用辅助表关联