如何覆盖 Grails GORM 中关系的级联删除?

2024-01-06

我在使用 Grails 的 GORM 部分时遇到一些问题。我正在使用 Grails 1.3.4 和 H2。

在数据库中我有两个表template and report。在 GORM 级别我有两个 Domain 类Template and Report;

class Template {

static hasMany = [reports: Report]

...
}

and

class Report {

static belongsTo = [template: Template]

...
}

默认行为似乎是当Template被删除时,删除会级联,这样所有的Report它所拥有的 s 也将被删除。 在数据库级别我试图使模板ID- 列中report-表是一个删除时设置为空外键,但这不起作用。

有什么方法可以覆盖级联删除吗?


应在以下内容中添加Template class:

static mapping = {
  reports cascade: 'none'
}

能够删除Template没有问题,这添加到Report类也是必要的:

static constraints = {
  template(nullable: true)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何覆盖 Grails GORM 中关系的级联删除? 的相关文章

  • 向grails中的所有视图添加变量

    我试图在所有视图中为当前用户 POJO 设置一个变量 以便我可以获得用户名之类的信息并检查他们在每个视图 包括默认布局 上的角色 如何在 grails 中设置某些内容 例如 currentUser 以便在每个 grails 视图中都可以访问
  • Hsqldb/H2 中单元测试的 SequenceGenerator 问题

    我尝试过使用 Hsqldb 和 H2 进行单元测试 但面临序列生成器的问题 字段声明看起来像这样 Id GeneratedValue strategy GenerationType SEQUENCE generator keyword se
  • 为什么 SQL 标准允许重复行?

    中的一个核心规则 http en wikipedia org wiki Codd 27s 12 rules对于关系模型来说 元组 行 所需的唯一性是 数据库中的每个单独的标量值must通过指定包含表的名称 包含列的名称和首要的关键包含行的值
  • 如何在H2中定义Oracle Package procedure进行测试

    我正在测试一个 Spring Boot 应用程序 该应用程序将数据读取 写入 Oracle DB 该 Oracle DB 具有 Oracle 包以及这些包中的过程 在某些时候 Spring Boot应用程序通过实体存储库调用此过程 如下所示
  • 如何将H2数据库文件存储到项目目录中

    当我使用H2数据库时 数据库文件存储在C Users MyName TestDataBase db目录 H2路径是jdbc h2 TestDataBase 这是默认的 H2 数据库路径 是否有可能像这样将 H2 数据库文件存储到我的项目目录
  • 无法解析类或包“h2”

    我为我的网络应用程序开发后端应用程序 在我的项目 SpringBoot Maven 中 我想添加 h2 数据库 根据网上的教程 添加了以下几行应用程序属性 file server port 8088 spring h2 console en
  • Grails 中数据库迁移的良好工作流程是什么?

    我想使用数据库迁移 http grails org plugin database migration用于数据库迁移的 grails 插件 当我第一次启动 Grails 应用程序时 所有数据库表都会自动创建 我的 DataSource gr
  • 从 Glassfish 取消部署 Grails 应用程序会发生类不变性违规

    我有一个在 Glassfish 中运行的 Grails 应用程序 但是当我取消部署时 它会出现 违反类不变性 快速查看堆栈跟踪并在网络上搜索报告 这是 Log4j 的问题 我当时使用的是最新的log4jlog4j 1 2 16 jar 任何
  • H2 中的 IF 函数用于 MySQL 兼容性

    我正在使用 H2 具有 MySQL 兼容模式 针对我们使用 MySQL 的软件编写一些自动化测试 不幸的是 H2 似乎没有IF我们的许多查询都使用该函数 除了使用 DECODE 之类的东西重写我们的应用程序查询之外 它们是创建 if 函数
  • 从控制器传递 gsp 参数

    我如何通过不是域类实例的控制器将参数传递到groovy服务器页面 您将参数放入返回给 GSP 的模型对象映射中 例如 def index def hobbies basketball photography render view inde
  • H2数据库排序规则:选择什么?

    经过大量阅读和实验后 似乎我想要主要的搜索强度 但第三或相同的排序强度 主要问题 用 H2 或任何其他数据库 可以实现吗 第二个问题 我是这里唯一的人吗 或者你们中有人也喜欢上述组合吗 一些确认会对我的理智有所帮助 背景 看来排序规则只能在
  • 仅包含主键和外键的数据库表的用途是什么?

    我试图理解一个简单的音乐数据库设计 有些表只包含外键和主键 我不确定如何以及何时使用这些表或向其中插入什么内容 设计如下 Track id primary key title duration live performance true o
  • Mysql对三表多列的连接查询

    我有三个这样的表 专业化 sid s name 1 test 1 2 test 2 Person pid name sid 1 ABC 1 2 XYZ 2 Timing tid time from time to pid 1 08 00 0
  • 空白约束和空约束之间的区别

    空白约束和空约束有什么区别 我有以下课程 class Task String title String notes TekUser assignedTo Date dueDate TekEvent event static constrai
  • Spring IO 这个名字是什么意思? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 2013 年秋季 Spring 推出了新网站 spring io http spring io 并宣布了其新平台 弹簧IO http sp
  • withTransaction 和 withNewTransaction 有什么区别?

    以下动作有什么区别 def someAction User withTransaction and def someAction User withNewTransaction 我什么时候用什么 当 grails 操作仅包含 Transac
  • H2控制台看不到JAVA创建的表

    我已经从以下位置下载了 H2 控制台http www h2database com html download html http www h2database com html download html我已经在我的中配置了 URLjdb
  • Grails - 如何对 addTo* 进行单元测试

    是否可以在 Grails 中对 addTo 函数进行单元测试 感谢您的帮助 文档第 9 1 节中说 http grails org doc latest guide 9 20Testing html 9 1 20Unit 20Testing
  • grails 重写重定向控制器方法

    我试图覆盖默认的控制器重定向方法 但似乎无法让以下代码正常工作 我创建了一个插件 我正在尝试使用 doWithDynamicMethods 来替换重定向 def doWithDynamicMethods ctx gt application
  • 在另一个插件中覆盖插件 GSP 和控制器

    我的项目中有一个相当复杂的 grails 插件依赖结构 并且在覆盖安全插件中的类时遇到问题 我的结构有点像这样 Web App Audit Plugin Spring Security Core Plugin Security Wrappe

随机推荐