Здравствуйте, Аноним, Вы писали:
А>Вопрос: каким образом лучше реализовать их сравнение (метод equals(), в случае Java)?
В общем случае сравнивать только первичный ключ. Вы написали ID — но это частный случай первичного ключа. Иногда первичный ключ будет состоять из двух-трех полей.
А>[list=1] А>Сравнивать только id. Встаёт вопрос — как быть с ситуациями, когда id равны, а остальные поля нет?
Такие ситуации будут скорее всего означать что вы не используете паттерн Identity Map (ничего в принципе страшного) и что у вас нашлись две версии объекта и одна из них более новая/измененная. Что делать в такой таком случае зависит от конкретной ситуации — приведите ситуацию — рассмотрим. Главное не допускать изменения первичного ключа у объекта, т.е. поля/свойства входящие в первичный ключ должны быть неизменяемыми.