hibernate - Grails 升级到 3.3.x:无法使用 grails 3.3.5 访问 persistentEntity.relationshipMap 和 persistentEntity.hasOneMap
问题描述
根据 grails 3.3.x 的升级文档(http://docs.grails.org/3.3.x/guide/upgrading.html)
GrailsDomainClass 已被 PersistentEntity.java 类弃用。
现在,我正在尝试将 3.2.11 上的 grails 应用程序升级到 3.3.5
在这里,我使用 PersistentEntity 删除了所有出现的 GrailsDomainClass。现在当我尝试打电话时:
例子:
PersistentEntity persistentEntity = grailsApplication.getArtefacts("Domain")[0] as PersistentEntity;
println persistentEntity.relationshipMap
println persistentEntity.hasOneMap
它给了我 groovy.lang.MissingPropertyException: No such property: relationshipMap for class: DefaultGrailsDomainClass1_groovyProxy
和,
groovy.lang.MissingPropertyException:没有这样的属性:hasOneMap 类:DefaultGrailsDomainClass1_groovyProxy
有人可以帮助我使用正确的 api 来获取 relationshipMap 和 hasOneMap。我尝试对此进行了很多搜索,但直到现在都没有成功。
提前致谢!
解决方案
我得到了解决方案。
没有直接的api,但可以使用:
Map hasOneMap = GrailsClassUtils.getStaticPropertyValue(persistentEntity.clazz, "hasOne") as Map
Map relationshipMap = GrailsClassUtils.getStaticPropertyValue(persistentEntity.clazz, "hasMany") as Map
推荐阅读
- css - 将 translate3d 与 react-spring 一起使用时如何处理移动高度?
- json - jq通配符的使用方法
- windows - NMAKE:致命错误 U1077:'"':返回代码 '0x1'
- python - 如何使用第三个 python 文件组合两个 python 文件,它也可以向同一个文件添加一些代码?
- react-native - React Native,如何找出每个内置组件样式属性的默认值?
- docker - Docker - unable to copy file after downloading due to intermediate container gets removed
- c# - 使用 wsDualHttpBinding 的 WCF 是否可以在 Https 上?
- sqlite - 有什么方法可以优化 SQLite 中的查询吗?
- r - dplyr 错误 - 找不到函数“%>%”
- kubernetes - 在虚拟机上设置 QABDI(Qlik 关联大数据索引)