update, insert (необязательно - по умолчанию - true): указывает, что сопоставленные столбцы должны быть включены в SQL UPDATE и/или INSERT заявления. Установка обоих значений в false позволяет получить чисто "производное" свойство значение которого инициализируется из некоторого другого свойства, которое отображается на то же столбец (столбцы) или триггер или другое приложение.
Ответ 2
Используйте update = "false" , insert = "false" , когда свойство вычисляется/выводится, или когда база данных или триггеры несут ответственность за вставку/или обновление значения.
Например, если БД автоматически генерирует значение INSERT, которое вы хотите использовать, тогда укажите insert = "false" , поэтому Hibernate не будет включать свойство в инструкции INSERT.
Другим примером может быть вычисленное/полученное свойство через формулу SQL: вы можете, например, получить сумму сумм заказов для каждого клиента. Например:
<property name="totalOrders" insert="false" update="false">
<formula>(select sum(ORDER.TOTAL) from ORDER where ORDER.FK_CUSTOMER=ID)</formula>
</property>
В этом случае мы устанавливаем insert = "false" , update = "false" , так как это явно производный результат, и мы не можем его обновить напрямую.
Производительность? Это не о производительности - это о том, что требуется для отображения базы данных.