Jef*_*rey 2 dns orm grails hibernate
如果我有一个MyDomainClass在grails中调用的域类,它看起来像:
class MyDomainClass {
MyNonDomainClass nonDomainClass
}
Run Code Online (Sandbox Code Playgroud)
和MyNonDomainClass:
class MyNonDomainClass {
String name
int age
}
Run Code Online (Sandbox Code Playgroud)
将hibernate映射正确设置,因为MyNonDomainClass是非域类?或者我是否需要明确指定类型,例如:
class MyDomainClass {
def nonDomainClass
static mapping = { nonDomainClass type: MyNonDomainClass }
}
Run Code Online (Sandbox Code Playgroud)
或者MyNonDomainClass不会作为一种类型工作,因为它不是一个域类?
Grails不知道如何处理这个类,所以你需要实现一个Hibernate的UserType.一个例子可以在Hibernate的文档中找到.
拥有此课程,您可以配置您的类型grails.gorm.default.mapping.例:
class MyNonDomainClassUserType implements UserType {
...
}
Run Code Online (Sandbox Code Playgroud)
Config.groovy中
grails.gorm.default.mapping = {
"user-type" type: MyNonDomainClassUserTye, class: MyNonDomainClass
}
Run Code Online (Sandbox Code Playgroud)
使用此配置,无需更改域类.
| 归档时间: |
|
| 查看次数: |
792 次 |
| 最近记录: |