gpt4 book ai didi

hibernate - 我在 grails 中遇到完整性违规异常。如何级联删除到grails中的相关实体?

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

我有一个简单的电子商务 grails 5 应用程序,我在其中将 CartItem 定义为:

class CartItem {
Customer customer
Product product
Integer quantity}

我有产品类别:

class Product {
String name
Double price }

当一个产品被删除时,拥有这个产品的cartItem(如果有的话)也必须被删除。 (这同样适用于客户)。现在,当我删除产品时,如果此产品有 cartItem,我会收到完整性违规异常。

我正在使用 Hibernate 和 H2 内存数据库。如果不使用 hibernate 配置(除非这是唯一的方法),我如何使用 grails GORM 实现产品删除级联以自动删除关联的 cartItem 删除行为?

当客户将产品添加到购物车时,会创建一个 CartItem 实例。

删除 cartItem 时(从购物车中移除产品时)相关产品或客户不会发生任何变化。但是当一个产品被删除时,其关联的 cartItem 也必须被删除。

最佳答案

CartItem 不属于 Product。因此,Grails 无法在删除 Product 时删除它。但是您可以利用 grails 域类事件 - “beforeDelete”。

https://docs.grails.org/3.0.x/guide/GORM.html#eventsAutoTimestamping

关于hibernate - 我在 grails 中遇到完整性违规异常。如何级联删除到grails中的相关实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72262237/

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