Как заставить HIbernate использовать Java Assist - PullRequest
0 голосов
/ 01 ноября 2018

Я использую Грааль с Горм (Hibernate). В целях тестирования мне нужно надежно создать ситуацию, когда Hibernate оборачивает доменные объекты в свой собственный помощник.

С http://www.tothenew.com/blog/extract-correct-class-from-hibernate-object-wrapped-with-javassist/

Так что, если мы вызовем class.name для членов коллекций в отношениях один ко многим или много ко многим, мы получим имена классов что-то вроде com.test.classname_javassist_59.

Но я не могу повторить это. У меня есть тестовый случай, когда коллекция hasMany загружена лениво, но я никогда не получаю помощь java. Я также попробовал лениво загруженную ассоциацию один к одному, и она также не возвращает java_assist в имени класса.

class TestCase{
   static hasMany=[testCollection:TestCollection]
}
//test...
   TestCase.get(1);
   //lazy access collection item
   TestCase.testCollection[0].class.name // no java assist
   //lazy load one to one association testCaseB
   TestCase.testCollection[0].testCaseB.class.name// no java assist
 //...

Этот вопрос о переполнении стека Hibernate: всегда ли Hibernate использует прокси-объекты объектов? описывает ответ, но я все еще не смог создать реализацию кода, демонстрирующую его.

...