В начале есть проблема, которую нужно решить. В моем случае я получил LazyInitializationException при использовании indexof в коллекции для получения объекта для манипуляций. Здесь я начинаю думать об использовании equals в EntityBeans (OR-Mapper вообще). Я знаю, что есть некоторые дискуссии о переопределении equals в ассоциации с OR-Mapper как hibernate, как
[1] Объекты equals (), hashCode () и toString (). Как правильно их реализовать?
[2] Равен и хэш-код или нет в классах сущностей, вот в чем вопрос.
[3] Переопределение equals и hashCode в Java
В настоящее время у меня есть некоторые сущности, которые реализуют равенства, но внутри кода, который я не смог использовать, несколько раз из-за исключений LazyInitializationException. Так что я должен был обойти и использовать, например. свойство name объекта, чтобы определить его равенство. С моей точки зрения, «LazyInitializationException-thing» вообще не упоминается в этих вопросах.
Я хотел бы знать, есть ли у вас хорошие шаблоны или реальные рекомендации, как избежать такого исключения в равном методе. Должен ли я использовать некоторые вспомогательные методы, чтобы различать, если объект класса уже инициализирован ( 4 ), или я должен назначить использование равных и использовать вместо этого вспомогательные классы ( 2 )? А что насчет перехвата исключений LazyInitialization в равных?
[Edit]: Если вы поместите в контекст равные с инициализацией Объекта, тогда это приобретет важность. Иногда необходимо полностью инициализировать объект, но иногда вы этого не хотите. Потому что вам просто нужен сам объект (name, id, ...), а не его Collection-Properties. Так что просто для выравнивания вы должны заново прикрепить Объект и загрузить всю связку, которая вам на самом деле не нужна? Есть ли другие решения для такой проблемы?