【发布时间】:2015-12-16 11:17:16
【问题描述】:
我目前正在将 Grails 2.4 项目迁移到 Grails 3.0.10 或 3.1.0.M3。
在 Grails 2.4 中,以下方法是一种解决方法,可让我检测域类是否具有复合主键:
void isCompositePrimaryKey(GrailsDomainClass targetClass) {
def binder = new GrailsDomainBinder()
def idMapping = binder.getMapping(targetClass).identity
return idMapping instanceof org.codehaus.groovy.grails.orm.hibernate.cfg.CompositeIdentity
}
我找不到在公共 API 中检测到这一点的方法。
虽然 GrailsDomainClass 仍然存在于实现源代码中,但我似乎无法从我的项目中访问它,也找不到旧的 CompositeIdentity。
另一种策略是通过targetClass.getIdentifier().getType()
但我找不到任何关于如何使用身份类型检测复合键的文档。
【问题讨论】:
标签: grails grails-orm grails-3.0 grails-3.0.10