BlazeDS не будет сериализовать свойство, если у него нет и геттера, и сеттера. Однако многие из моих свойств Java доступны только для чтения. Поэтому теперь мне нужно добавить сеттеры для поддержки процесса Unmarshalling. Если кто-либо из пользователей этих доменных объектов начнет сами вызывать эти установщики, это нарушит семантику объекта-значения этих вещей и, вероятно, вызовет всевозможные системные проблемы.
В прошлом мне приходилось много делать для поддержки определенных аспектов JPA, и мне это никогда не нравилось. Это произошло потому, что мы поместили наши аннотации JPA в свойства, а не в частные поля (чтобы избежать другой проблемы).
Кроме использования Javadoc для предупреждения себя и других, что должен делать программист?
Редактировать: я должен добавить, что эти дополнительные сеттеры НЕ являются частью открытого интерфейса, который реализуют эти объекты .... но тем не менее они все еще там.