Архив метки: @jakarta.persistence.Column

Переопределение параметров полей встраиваемых @Embeddable классов с помощью аннотаций @Embedded и @AttributeOverride в Hibernate

При создании колонок класса-сущности для сохранения значений классов-значений можно переопределить параметры колонок, описанные в помеченных аннотацией @Embeddable классах-значениях. Можно изменить имена колонок и их всевозможные ограничения.

Допустим класс Person содержит поле Address address. Класс Address помечен @Embeddable и хранит данные своих полей в соответствующих колонках таблицы PERSON. Но сами настройки полей указаны в классе Address. Так вот эти настройки легко переопределяются в классе Person.

Читать далее

Использование в Hibernate аннотации @ColumnDefault, чтобы задать значение по умолчанию колонок БД.

Аннотация @ColumnDefault надо полем класса предметной области заставит Hibernate создать для этого поля колонку в БД со значением по умолчанию, которое передаёт параметром в эту аннотацию. Кроме того, с помощью параметра GenerationTime.INSERT аннотации @Generated можно определить, возможно ли будет переопределять значение по умолчанию при вставке или оно всегда будет одним и тем же, когда создаётся новая запись в таблице.

Читать далее

Создание NOT NULL ограничений на колонки БД с помощью аннотаций @Basic и @Column в Hibernate.

Если Spring приложение запускается, например, с параметром spring.jpa.hibernate.ddl-auto=update, то Hibernate сам берёт на себя задачу по созданию и модификации схемы БД в соответствии с описаниями классов предметной области в приложении. С помощью аннотаций можно уточнять некоторые настройки схемы, в том числе ограничения колонок на допустимость/недопустимость значений NULL.

Читать далее