显示导航

GORM逻辑删除

s塞尔吉奥·德尔阿莫

365bet地区版本 3.3.2

训练

365bet地区培训由创建并积极维护365bet地区框架的人们开发和交付

入门

插入

您将需要什么

要完成本指南,您将需要以下内容

  • 花些时间在你手上

  • 体面的文本编辑器或IDE

  • 安装了JDK或更高版本JAVA首页适当配置

如何完成指南

要开始,请执行以下操作

要么

  • 克隆资料库
    去克隆

365bet地区指南存储库包含两个文件夹

  • 初始初始项目通常是一个简单的365bet地区应用程序,其中包含一些其他代码,可以帮助您快速入门

  • 完成一个完整的示例它是按照指南中介绍的步骤进行操作并将这些更改应用于文档的结果。初始

要完成指南,请转到初始

  • 光盘进入grails指南grails逻辑删除初始

并按照下一节中的说明进行操作

您可以直接前往完成的例子如果你光盘进入grails指南grails logicaldelete完成

应用概述

逻辑删除

365bet地区用于在365bet地区应用程序中创建逻辑删除的插件

我们将在图书集中创建一个删除按钮和撤消功能

撤消
我们已经将必要的资产书封面图像添加到了最初的grails应用程序资产图像给你的文件夹

安装插件

将插件依赖项添加到建立gradle.

建立gradle
编译'org grails插件gorm逻辑删除M'

添加一个域类

365bet地区应用程序域演示书groovy
演示进口 
进口 grails编译器365bet地区CompileStatic

365bet地区CompileStatic
  实施> { (1)
    图片标题作者关于href静态的关于类型: '文本'
    }
}
1 实行可以应用于任何域类以指示该域类应参与逻辑删除的特征该特征添加了一个名为的布尔持久性属性已删除

控制者

创建一个控制器,该控制器与服务协作检索书的详细信息的书清单,并提供删除和撤消书删除的操作

365bet地区应用控制器演示BookController groovy
演示进口 常规转换CompileStatic
进口 org springframework上下文MessageSource

静态编译
 BookController {

    静态的allowedMethods指数: '得到',
            节目: '得到',
            删除: '开机自检',
            : '开机自检'定义 指数() {
        [
                bookListbookDataService findAllundoId参数长'undoId')
        ]
    }

    定义 节目(longIDbookInstancebookDataService findById ID定义 删除(longid bookDataService删除ID Flash消息messageSource getMessage'图书删除撤消'ID 宾语[],
                '书籍已删除'请求语言环境重定向行动: '指数', 参数: [undoIdID定义 (longid bookDataService取消删除id flash消息messageSource getMessage'取消删除',
                []  宾语[],
                '书籍已还原'请求语言环境重定向行动: '指数')
    }

}

服务

创建一个POGOBookImage在里面src主界面目录

src main groovy演示BookImage groovy
演示进口 常规转换CompileStatic

静态编译
 BookImage {
    longID图片

为创建默认的CRUD操作借力GORM数据服务.

365bet地区应用服务演示BookDataService groovy
演示进口 grails gorm services服务
进口 grails gorm交易ReadOnly
进口 grails gorm Transactions事务性

接口iBookDataService保存标题作者关于href图片计数findByIdlongID虚空删除longID(1)
}

服务()
抽象  BookDataService 实施iBookDataService只读
    清单找到所有(2)
        投影属性在哪里'ID'属性'图片'清单收集BookImageID: [0]  long, 图片: [1]  ) }
    }

    交易性
    虚空不可删除longIDwithDeleted(3)
            删除身份证(4)
        }
    }
}
1 像往常一样删除域类已删除属性设置为true,但书籍保留在持久性存储中
2 这个哪里查询不检索已被逻辑删除的书
3 对于您希望在查询结果中包含逻辑删除的记录的情况,查询可能包含在对withDeleted.
4 为了撤消已删除的字段,请使用不可删除.

观看次数

创建一个GSP视图以列出图书,我们为每本书添加一个删除按钮,如果undoId存在,我们呈现撤消纽扣

grails应用程序视图书索引gsp