Use update = "false", insert = "false" cuando la propiedad es calculada/derivada, o cuando la base de datos o activadores son responsables de insertar/actualizar el valor.
Por ejemplo, si la base de datos generaría automáticamente un valor en INSERT que desea usar, especifique insert = "false" para que Hibernate no incluya la propiedad en las instrucciones INSERT.
Otro ejemplo, sería una propiedad calculada/derivada a través de la fórmula SQL: podría, por ejemplo, recuperar una suma de totales de pedido para cada cliente. Ej:
<property name="totalOrders" insert="false" update="false">
<formula>(select sum(ORDER.TOTAL) from ORDER where ORDER.FK_CUSTOMER=ID)</formula>
</property>
En este caso nos propusimos insertar = "falsa", update = "falso" ya que este es claramente un resultado derivado, y no puede actualizar directamente.
¿Desempeño? No se trata de rendimiento, se trata de lo que requiere su mapeo de base de datos.
¿Cuál es la ventaja de usarlo? – Chillax
No hay ventaja. Establece update = false si no desea que la columna se actualice (por ejemplo, si se actualiza mediante un desencadenador u otra columna). Y establece insert en false si no desea que se inserte la columna (por ejemplo, si se inicializa mediante un disparador u otra columna). En el 99% de los casos, déjelo en su valor predeterminado: verdadero. –
¿Cómo hago esto para un conjunto (niño)? – PhantomReference