【发布时间】:2021-07-23 18:23:17
【问题描述】:
旧数据库有两个表,它们使用相同的列名作为主键。例如:
用户:
user_id int
名称字符串
用户个人资料:
user_id int
visit_count int
我想创建一个双向的一对一关系。即
class User {
String name
UserProfile userProfile
static mapping = {
id column: 'user_id'
}
}
class UserProfile {
Integer visitCount
User user
static mapping = {
id column: 'user_id'
}
}
我希望能够引用“user.userProfile.visitCount”或“userProfile.user.name”。
我尝试了许多直接引用和关系描述符的组合,“hasOne”、“belongsTo”等。我认为这很简单,但找不到正确的语法。我收到重复的列问题或缺少列名的问题。任何帮助,将不胜感激。提前致谢。
【问题讨论】:
-
需要像这样在映射中指定表吗? docs.grails.org/3.1.1/ref/Domain%20Classes/mapping.html
-
“我收到重复的列问题或缺少列名的问题” - 你能显示缺少列名的错误消息吗?
标签: hibernate grails grails-orm one-to-one grails-domain-class