Исключение поля класса из отображения в колонку БД в Hibernate с помощью аннотации @Transient или ключевого слова transient

Не всегда нужно, чтобы все поля класса отображались в соответствующие колонки в базе данных. Но Hibernate по умолчанию пытается отобразить именно все поля класса в колонку или колонки БД следуя определённым правилам. Чтобы исключить то или иное поле класса из отображения используется либо аннотация @Transient, либо ключевое слово transient.

Создадим базовое веб-приложение на связке Spring Boot 3 + Hibernate + PostgreSQL

Чтобы убедится в том, что поля, помеченные либо аннотацией @jakarta.persistence.Transient, либо ключевым словом transient не будут отображаться в колонки таблицы, создадим в приложении следующий класс:

Затем запустим приложение, чтобы Hibernate создал таблицу для этой сущности и посмотрим её описание в консоли psql с помощью команды \d+ table_name.

Как видно из описания, Hibernate создал только колонку первичного ключа. Ни для поля transientKeyword, ни для transientAnnotation колонки не созданы.