Немаркированное поле с @Transient и с spring.jpa.hibernate.ddl-auto = нет - PullRequest
0 голосов
/ 05 сентября 2018

Каким будет поведение / влияние на приложение

если я сделаю не помечать поле аннотацией @Transient, а также установив свойство spring.jpa.hibernate.ddl-auto = none?

Пример: Entity: Product.java [идентификатор, имя, сумма, скидка] Поле скидка рассчитывается по некоторой бизнес-логике в том же классе.

Это сопоставлено с таблицей: product_master (id, nm, amt) Мой вопрос:

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

Сказав, что свойство весны spring.jpa.hibernate.ddl-авто = нет.

1 Ответ

0 голосов
/ 05 сентября 2018

Ваш CRUD не будет работать, если вы не пометите discount как @ Transient

Если вы не пометите discount как @Transient, JPA включит это поле во все запросы к базе данных. Если вы попытаетесь выполнить INSERT в вашей таблице, поле discount будет включено в ваш запрос на создание, и оно не будет выполнено, поскольку поле discount не существует в таблице базы данных.

spring.jpa.hibernate.ddl-auto не имеет ничего общего с @ Transient

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...