Chi*_*lax 11 hibernate properties insert
在hibernate HBM文件中,设置以下属性的目的是什么?
update = "false"
insert = "false"
Run Code Online (Sandbox Code Playgroud)
他们的目的是什么?它们对性能有何不同?我们应该何时使用它们?
Tho*_*s W 11
在计算/派生属性时,或者数据库或触发器负责插入/或更新值时,请使用update ="false",insert ="false".
例如,如果DB将自动生成您要使用的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>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我们设置insert ="false",update ="false",因为这显然是派生结果,我们无法直接更新它.
性能?这不是关于性能 - 而是关于数据库映射需要什么.