【发布时间】:2014-09-07 11:26:20
【问题描述】:
我在 Grails 2.3.11 中有以下域类。它们映射到无法更改的旧数据库表。两个类共享一个名为 pidm 的 id:
class Person {
Long pidm
String firstName
String middleName
Bio bio
static mapping = {
id name: 'pidm', generator: 'assigned'
bio column: 'pidm'
}
}
class Bio {
Long pidm
String ssn
String gender
Date birthDate
static mapping = {
id name: 'pidm', generator: 'assigned'
}
}
Bio 表中没有单独的person_id 列或类似的内容。应该通过pidm 进行一对一的映射。
目前我可以让它工作的唯一方法是在mapping 块中添加updateable: false, insertable: false 到bio。如果我想更新和/或插入 Bio 实例怎么办?我有没有更好的方法来执行此操作并将pidm 列共享为 Person 类 AND 的 id 作为对 Bio 的引用?
【问题讨论】:
-
生成器真的被“分配”并且主键是数字吗?遗留数据库中的这些表是否没有可用的序列?
-
有,但我的应用不会创建新的 Person 或 Bio 对象。单独的系统处理这些表中条目的创建。
标签: hibernate grails grails-orm grails-domain-class