Я заметил, что при вызове списка классов домена в Grails результаты, которые я возвращаю, являются экземплярами прокси, а не фактическими экземплярами класса домена.Grails - List возвращает проксированные классы вместо классов домена
Пример:
println User.list()
[ com.mypackage.security.User_$$_javassist_28 ]
При сравнении экземпляра одного из этих прокси-классов против экземпляра класса соответствия домена, я получаю ложный результат равенства.
Отлич- "Отличия от Java" документации говорится:
означает == равно на всех типах. ... Таким образом, для простоты == означает Equals() в Groovy
Однако при сравнении класс домена к одному из этих классов прокси это не кажется, чтобы быть правдой.
Может ли кто-нибудь дать некоторое представление об этом?
Есть ли способ вызова списка и получения фактических экземпляров класса домена?
Я бы предпочел не предоставлять пользовательский getHashCode и равную реализацию, чтобы обойти это.
спасибо.
Вы переопределили equals() и hashCode() в классе домена? – evanwong
@evanwong - Нет Я не переопределяю равных или hashCode – cweston