我有两个域。
class ABC{
String xyz
static mapping = {
discriminator column: 'ABC_TYPE_ID'
}
}
和
class XYZ extends ABC{
static mapWith = "none"
static mapping = {
discriminator value: 3
}
}
在 Grails 2.5.5 中,下面的行工作得很好,但是在进行了所需的更改后,它在 Grails-3.2.4 中不起作用并且给出了 null。
Mapping mapping = new GrailsDomainBinder().getMapping(XYZ) //Works fine Grails 2.5.5
Mapping mapping = GrailsDomainBinder.getMapping(XYZ) // Giving null in Grails-3.2.4
请帮助我从 XYZ 域获取映射对象。
我的发现:
我在 application.yml 中使用带有注释#dbCreate:''的 oracle db 。
在 XYZ 域中评论static mapWith = "none"后,我得到了 Mapping 对象,并且由于#dbCreate:'' ,因此未在 DB 中创建相应的表。
这种方法有什么问题吗?如果是,请为我提供替代解决方案。