Спящий режим устанавливает стратегию доступа к свойствам для всего приложения Spring Boot

#java #hibernate #spring-boot #orm

#java #спящий режим #spring-boot #orm

Вопрос:

насколько я знаю, Hibernate предоставляет две стратегии доступа: к ПОЛЮ и СВОЙСТВУ. Ее можно определить, установив обозначение @Access вышеуказанного объекта, но каждый раз устанавливать @Access стратегию во время реализации немного неприятно. Есть ли какой-либо способ установить стратегию доступа «глобальную» для всего приложения?

Ответ №1:

Я не думаю, что такое свойство существует в Spring Boot по умолчанию.

Однако вы можете создать родительский класс для всех ваших объектов, чтобы определить @AccessType на уровне класса только один раз.

Документация

http://download.oracle.com/otn-pub/jcp/persistence-2.0-fr-eval-oth-JSpec/persistence-2_0-final-spec.pdf

2.3.1 Тип доступа по умолчанию (страница 23)

По умолчанию к иерархии сущностей применяется один тип доступа (доступ к полю или свойству). Тип доступа по умолчанию к иерархии сущностей определяется размещением аннотаций сопоставления на атрибутах классов сущностей и сопоставленных суперклассов иерархии сущностей, которые явно не указывают тип доступа.

Пример

 @MappedSuperclass
@Access(value=AccessType.FIELD)
public class Parent { 
}

@Entity
public class Child extends Parent {
    ...
}