сделать Eclipse equals () / hashCode () использовать геттеры - PullRequest
7 голосов
/ 29 апреля 2009

Можно ли заставить Eclipse по умолчанию "Generate hashCode () и equals ()" использовать геттеры вместо ссылок на поля? - т.е. я могу получить шаблон, который он использует?

Я использую Hibernate, а Proxied Objects только LazyLoaded, когда используются геттеры, а не из ссылок на поля. Досадно постоянно менять его.

Очевидные обходные пути - создать шаблон самостоятельно или написать плагин, который выглядит как перебор.

РЕДАКТИРОВАТЬ: похоже, что они не настраиваются. Я задам это как вопрос для JBoss Tools Group (они делают несколько плагинов для Hibernate).

Ответы [ 4 ]

7 голосов
/ 05 мая 2009

Это не решение, скорее обходной путь - но вы можете попробовать сгенерировать equals(), а затем использовать рефакторинг 'encapsulate field', чтобы заменить все поля, доступные для использования методов получения / установки (это также работает внутри класса).

1 голос
/ 07 мая 2009

Оооо, будьте осторожны с проксированием: http://blog.xebia.com/2008/03/08/advanced-hibernate-proxy-pitfalls/;)

0 голосов
/ 05 мая 2009

Как ни странно, эти шаблоны вообще не поддаются настройке.

Возможно, вы захотите посмотреть на этот вопрос . Также этот блог . Google, вероятно, даст вам гораздо больше.

0 голосов
/ 01 мая 2009

Я использовал плагин для генерации hashCode() и equals() с apache commons lang

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...