gpt4 book ai didi

hibernate - 在 Hibernate 中设置更新和插入属性

转载 作者:行者123 更新时间:2023-12-02 08:03:01 24 4
gpt4 key购买 nike

在hibernate HBM文件中,设置以下属性的目的是什么?

update = "false"
insert = "false"

它们的目的是什么?它们对性能有何影响?我们什么时候应该使用它们?

最佳答案

当计算/导出属性时,或者当数据库或触发器负责插入/或更新值时,请使用 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",因为这显然是派生结果,我们无法直接更新它。

性能?这与性能无关——而是与数据库映射的要求有关。

关于hibernate - 在 Hibernate 中设置更新和插入属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9639195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com