Grails Обновление до 3.3.x: невозможно получить доступ к persistentEntity.relationshipMap и persistentEntity.hasOneMap с grails 3.3.5 - PullRequest
0 голосов
/ 28 июня 2018

Согласно документам по обновлению Grails 3.3.x (http://docs.grails.org/3.3.x/guide/upgrading.html)

GrailsDomainClass устарел с классом PersistentEntity.java.

Теперь я пытался обновить приложение Grails, которое было на 3.2.11 до 3.3.5

Здесь я удалил все вхождения GrailsDomainClass с PersistentEntity. Теперь, когда я пытаюсь позвонить:

Пример:

PersistentEntity persistentEntity = grailsApplication.getArtefacts("Domain")[0] as PersistentEntity;

println persistentEntity.relationshipMap
println persistentEntity.hasOneMap

Это дает мне groovy.lang.MissingPropertyException: Нет такого свойства: Карта отношений для класса: DefaultGrailsDomainClass1_groovyProxy

И

groovy.lang.MissingPropertyException: Нет такого свойства: hasOneMap для класс: DefaultGrailsDomainClass1_groovyProxy

Может кто-нибудь помочь мне с правильным API, чтобы получить отношенияMap и hasOneMap. Я пытался много искать по этому поводу, но безуспешно до сих пор.

Заранее спасибо!

1 Ответ

0 голосов
/ 03 июля 2018

Я получил решение для этого.

Для этого нет прямого API, но к нему можно получить доступ:

Map hasOneMap = GrailsClassUtils.getStaticPropertyValue(persistentEntity.clazz, "hasOne") as Map
Map relationshipMap = GrailsClassUtils.getStaticPropertyValue(persistentEntity.clazz, "hasMany") as Map
...