Нулевые объекты
Сопоставление с полями может быть полезно, если вы реализуете шаблон нулевого объекта , если ваши классы. Поскольку это не может быть выполнено (легко) при сопоставлении со свойствами. Вам в конечном итоге придется хранить поддельные объекты в базе данных.
HQL
Я не был уверен, что с HQL-запросами вам приходилось менять имена свойств, если вы использовали подход с полевым доступом. то есть, если бы у вас было <property name="FirstName" access="field.camelcase" />
, я думал, что вы все еще могли бы написать "From Person where FirstName = :name";
, так как он по-прежнему использовал бы имя свойства.
Дальнейшее обсуждение полевых стратегий и нулевого объекта можно найти здесь .
Производительность
Относительно производительности поля и свойства в блог Джона Чепмена
Похоже, что не так много проблем с производительностью с наборами результатов малого и среднего уровня.
Таким образом, каждый подход имеет определенные льготы, которые могут быть полезны в зависимости от сценария (доступ к полям позволяет получать данные только для чтения, нет необходимости в установщиках, доступ к свойствам работает, когда от вашего poco ничего особенного не требуется, и он кажется подходом defacto. и т.д.)