【发布时间】:2015-11-11 16:25:22
【问题描述】:
很难在 Grails 文档、GIA 书籍或 SO 中找到这个问题的答案。
我正在将 Grails 移植到旧数据库中。我有两个表,它们之间的关系在一个现有的外键连接表中。
根据我的阅读,您似乎可以使用 joinTable 参数指定 源表中的哪个字段在连接表中使用,但不能指定 外部的名称连接表中的键列。此数据库中的一个表遵循约定(Video 表有一个 id 列,在连接表中称为“video_id”;另一个表没有(PublisherCategory 表有一个 id 列,但在连接表中表示为“category_id”) 。”
当 Grails 启动时,它要么抱怨重复的“id”字段,要么抱怨连接表中不存在的字段。 (从文档中我不清楚 joinTable 中的 column 参数是否是该类中用作外键的列的名称,或者,如果它是外键的名称,因为它出现在joinTable。我一直在努力相信它是前者。)
我还尝试创建一个域类来表示连接表本身,两个源表都有 hasMany 关系,但 Grails 也不喜欢这样。 (它要求一个实体成为“所有者”,但将任一域设置为所有者都行不通。)
有什么建议吗?
【问题讨论】:
标签: hibernate grails grails-orm jointable