`
princeicelk
  • 浏览: 37717 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Grails on rails (M - 1)

阅读更多

     在grails中,我们既可以使用GORM来实现O/R mapping,也可以使用已经定义好的基于hibernate的java实现,mapping文件方式或annontation方式都可以。

     首先介绍一下GORM。

Groovy代码
  1. class Book {  
  2.     static withTable = "book_table"   
  3.     static transients = [ "digitalCopy" ]      
  4.     static constraints = {      
  5.         releaseDate(nullable: true)      
  6.     }      
  7.      
  8.     String author = 'Author unknown'       
  9.     String title      
  10.     Date releaseDate      
  11.     File digitalCopy      
  12. }     
  • 指定表名:定义一个名为withTable的属性,默认的表名为Domain类名
  • 不需要持久化的属性: 在domain中添加一个名为transients的list,并列出不需持久化的属性名
  • 非空限制: 添加一个constraints的list
  • 默认值: 在字段后直接赋值
  • 属性命名时要注意回避SQL的保留字

  

  One-to-One关系

   在GORM中可以方便地指定一个属性是另一个类的对象,但是要实现级联删除这样的功能,需要如下指定:

  1. class Face {   
  2.     static belongsTo = Nose   
  3.     Nose nose   
  4. }  

  这样指定后,一个Nose被删除,所有使用它的Face都会被删除。

  One-to-Many & Many-to-One    当指向类(Book)中有多个同类(Author)字段时,可以使用mappedBy指定

  1. class Author {   
  2.     static hasMany = [ books : Book ]   
  3.   
  4.     String name   
  5. }  

 

  1. class Author {   
  2.     static hasMany = [books:Book, coBooks:Book]   
  3.     static mappedBy = [books:"mainAuthor", coBooks:"coAuthor"]   
  4.   
  5.     String name   
  6. }  

  添加时,使用author.addToBooks(book)或者author.addToCoBooks(book)将book加入到指定的集合中。

 Many-to-Many

 在两端都指定hasMang即可,不过要注意的是,必须要在某一端指定belongsTo

 Composition

 在GORM中可以实现组合映射,即一个复杂属性映射到表中的几个字段。使用Embedded列表列出需要实现compostion的属性即可。

 Inheritance

 直接在类名上用extends就完了,都不用标记Discriminator的。

分享到:
评论

相关推荐

    grails-fck-editor-0.3.zip_grails_grails-fck-editor

    标题中的"grails-fck-editor-0.3.zip_grails_grails-fck-editor"表明这是一个与Grails框架相关的插件,具体来说是FCKeditor的一个版本。FCKeditor是一款广泛使用的开源富文本编辑器,它允许用户在网页上创建和编辑...

    Grails1.1中文文档-----2009.3.25

    Grails1.1中文文档-----2009.3.25

    grails-datastore-gorm-plugin-support-2.0.4.RELEASE.zip

    总之,"grails-datastore-gorm-plugin-support-2.0.4.RELEASE.zip"提供了一个宝贵的资源,让开发者有机会学习和实践Grails的ORM功能和Android的MVC设计模式。无论是对Grails框架的探索,还是对Android开发的深化,这...

    grails-doc-CN-1.0.rar

    `grails-doc-CN-1.0.rar` 文件包含的是 Grails 1.0 版本的中文参考文档,对于那些不熟悉英文文档或者想要深入了解 Grails 的中文用户来说,这是一个极其宝贵的资源。 文档主要涵盖以下几个关键知识点: 1. **...

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。

    Grails-开源框架---使用指南(中文)

    Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate等开源框架之上,是一个高生产力一站式框架。 Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其...

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part2

    groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part2 共两个包,解压后需要将扩展名.zip.bak改名为.zip重新解压。 http://dist.springsource.com/release/STS/3.8.1.RELEASE/dist/ e4.6/spring-tool-...

    Grails-开源框架---使用指南.pdf与Groovy入门经典(中文).pdf(2合一)

    总结,"Grails-开源框架---使用指南.pdf"和"Groovy入门经典(中文).pdf"这两本书将帮助读者深入理解Grails框架和Groovy语言,从而更好地开发基于JVM的现代Web应用程序。通过学习这两本书,开发者可以掌握如何利用...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    本文将深入探讨Grails的中文文档以及“grails-fckeditor-0.9.5”插件的相关知识点。 一、Grails框架基础 1. Groovy语言:Grails的基础是Groovy,这是一种面向对象、动态类型的编程语言,语法简洁且与Java高度兼容...

    grails-doc-1.0-beta1-中文.rar

    grails-doc-1.0-beta1-中文.rar。Grails 1.0 学习资料。

    grails-web-url-mappings-2.5.4.zip

    这个名为"grails-web-url-mappings-2.5.4.zip"的压缩包包含了Grails 2.5.4版本中的Web URL映射相关代码,让我们深入探讨这一关键组件。 Grails是一个基于Groovy语言的全栈式Java web框架,其设计理念是“简洁、生产...

    grails-getting-started

    1. **高度集成**:Grails不仅集成了Groovy和Spring框架的优点,还与其他流行的技术如Hibernate等无缝结合。 2. **代码即配置**(Convention over Configuration):遵循这一原则,简化了配置过程,使开发者能够更加...

    grails3-spring-security-demo

    打开Grails命令行并运行create-app grails3-spring-security-demo --profile=web 更新了grails-app/conf/logback.groovy并添加了以下内容: // added so that we get more of the Spring Boot startup logger( ' ...

    Grails : A Quick-Start Guide

    Java web development is notoriously tedious, but help is on the way: Grails. Using the principle of convention-over-configuration and the dynamic Groovy programming language, Grails takes the pain out...

    grails-datastore-gorm-tck-1.0.9.RELEASE.zip

    标题 "grails-datastore-gorm-tck-1.0.9.RELEASE.zip" 提供的信息表明,这是一个与Grails框架相关的数据存储(Datastore)和GORM(Grails Object Relational Mapping)测试兼容性工具包(Test Compatibility Kit,...

    grails-docs-1.0-RC1.pdf

    1. **动态类型语言Groovy**:Grails使用Groovy作为主要编程语言,这是一种运行在Java平台上的动态语言,具有简洁、易读的语法,支持面向对象编程和函数式编程风格。 2. **Spring框架集成**:Grails内置了Spring框架...

    grails 开发框架-1

    grails1.0开发框架1 类似于ruby on rails的框架。

Global site tag (gtag.js) - Google Analytics