JAXB & JPA аннотации.Есть ли веские аргументы в пользу предпочтения доступа к полю над доступом к свойству? - PullRequest
5 голосов
/ 17 января 2011

Я начинаю новый проект, который использует аннотации JAXB и JPA. Я с интересом прочитал посты, в которых обсуждались плюсы и минусы смешивания аннотаций JAXB и JPA в одном классе.

Существуют ли какие-либо рекомендации, описывающие, когда использовать аннотации на уровне полей и когда использовать аннотации на уровне свойств, или какие-либо аргументы для общего выбора одного подхода над другим? Я нахожу аннотации уровня поля более чистыми и более читаемыми; они обычно находятся в верхней части класса и позволяют легко понять, как каждое поле представлено в различных контекстах. Помимо этого аргумента относительно читабельности, есть ли еще какие-то вопросы, которые следует учитывать при принятии решения, где комментировать?

Ответы [ 2 ]

4 голосов
/ 17 января 2011

JPA часто использует ленивую загрузку свойств. Если вы используете доступ к свойству в JAXB, он вызовет эти отложенные свойства во время маршала.

Также для поддержки отложенной загрузки (или отслеживания изменений и т. Д.). Некоторые реализации JPA используют манипулирование байтовым кодом для введения полей в классы, чтобы включить это. Использование доступа к полю с JAXB может привести к ошибкам при использовании этого типа реализации JPA.

Некоторые справочные материалы, связанные с использованием JAXB с объектами JPA:

1 голос
/ 17 января 2011

Еще одним преимуществом является то, что вам не нужно выставлять все поля как свойства. Если для этого нет веских причин, я обычно предпочитаю аннотации на уровне поля.

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