Java-бобы: разница между постоянным полем и постоянным свойством? - PullRequest
2 голосов
/ 13 ноября 2009

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

Означает ли это, что у нас должны быть методы получения и установки, даже если у нас есть постоянные поля?

Ответы [ 3 ]

3 голосов
/ 13 ноября 2009

Если в классе сущности используется постоянство, поля Persistence непосредственно обращаются к переменным экземпляра класса сущности во время выполнения.

Находясь в свойстве постоянства, для каждого свойства есть метод получения и установки.

То, что вы сказали, должно было работать в спящем режиме.

Ссылка об этом

0 голосов
/ 13 ноября 2009

Что это за провайдер? Я ожидаю, что это сработает. В любом случае, просто создайте защищенные методы получения и установки в качестве обходного пути, если это требуется поставщику.

0 голосов
/ 13 ноября 2009

Вы не упоминаете, какую реализацию JPA вы используете. Hibernate, безусловно, позволяет вам получить доступ к полям напрямую. Однако это не настройка по умолчанию, поэтому вы должны указать это поведение в файлах сопоставления с полем access =. (с конфигурацией на основе аннотаций, я думаю, вам просто нужно аннотировать поля напрямую ...)

...