У вас есть два типа? POJO, фактически DTO и аннотированный POJO, которым управляют? Можете ли вы кодировать метод равных или создать метод сравнения, который не вызывает удивления?
Это затрагивает всевозможные интересные вопросы о том, что означает "равенство". Мой инстинкт здесь - предоставить метод hasTheSameValueAs()
.
Чтобы ответить на ваш вопрос напрямую, иногда очень удобно возвращать управляемый объект.