`

Grails Grails 与 Hibernate

阅读更多

 

Grails 与 Hibernate

如果 GORM (Grails Object Relational Mapping)没有你想象的那么足够灵活,作为选择,你可以使用Hibernate映射你的domain类. 要做到这点,需要在你项目的grails-app/conf/hibernate目录创建一个hibernate.cfg.xml文件并为你的domain类对应HBM映射文件 .

 

更多关于这方面的信息,请查看Hibernate站点的文件映射

这允许你映射Grails domain类适用于更广的遗留系统并更加灵活的创建数据库模式 .

Grails也允许你在Java中编写domain类或重用以存在的domain model,这些都通过使用Hibernate来映射 . 你需要做的是放置必须的hibernate.cfg.xml 文件和对应的映射文件在grails-app/conf/hibernate目录中 .

另外,令人兴奋的是你仍然可以调用GORM中所有动态之久和查询方法 !

15.1 通过Hibernate注解映射

Grails 也支持通过Hibernate的Java 5.0注解支持来创建domain类映射. 为了做到这点,你需要通过设置DataSource 中的configClass属性告诉Grails你要使用注解配置,如下 :

 

import org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration
dataSource {
	configClass = GrailsAnnotationConfiguration.class
   … // remaining properties
}

这就是它的配置!确保你安装了Java 5.0,因为这需要使用注解. 现在,为了创建一个注解类,我们在src/java中简单的创建一个新的Java类并使用EJB 3.0规范来定义注解(详情参考Hibernate Annotations Docs):

 

package com.books;
@Entity
public class Book {
    private Long id;
    private String title;
    private String description;
    private Date date;

@Id @GeneratedValue public Long getId() { return id; }

public void setId(Long id) { this.id = id; }

public String getTitle() { return title; }

public void setTitle(String title) { this.title = title; }

public String getDescription() { return description; }

public void setDescription(String description) { this.description = description; } }

一旦完成,你需要使用Hibernate sessionFactory注册这个类 ,为了做到这点,你需要添加 如下的grails-app/conf/hibernate/hibernate.cfg.xml 文件:

 

<!DOCTYPE hibernate-configuration SYSTEM
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <mapping package="com.books" />
        <mapping class="com.books.Book" />
    </session-factory>
</hibernate-configuration>

当Grails加载时,会注册这个类必要的动态方法 . 查看Scaffolding了解 Hibernate domain 类中可以做的其他事情.

 

15.2 进一步阅读

Grails提交者, Jason Rudolph,花了许多时间写了许多关于通过自定义Hibernate使用Grails:

分享到:
评论

相关推荐

    Grails技术精解与web开发实践2-10章

    同时,也会讨论HQL(Hibernate Query Language)和GSP(Grails Simple Page)标签库。 6. **服务层与事务管理**:探讨服务层的作用,如何创建服务类,以及在服务中进行事务处理。还会讲解Grails的自动事务管理机制...

    grails1.3.9

    这个版本,1.3.9,是在Grails框架历史中的一个重要里程碑,它集成了Groovy编程语言,Spring框架,Hibernate持久化库,以及其他标准的Java技术,为开发者提供了一站式的解决方案,简化了复杂的应用程序开发过程。...

    harmonyos2-grails-hibernate-search-plugin:将HibernateSearch功能集成到Grails

    compile("org.grails.plugins:hibernate-search:2.3.0") compile("org.grails.plugins:hibernate5:6.1.8") compile("org.grails.plugins:cache") compile("org.hibernate:hibernate-core:5.2.10.Final") compile(...

    Grails企业web应用开发与部署

    4. 插件:Grails社区提供了大量的插件,如Spring Security、Hibernate、Caching等,这些插件可以快速增强应用功能。 四、Grails部署 1. 环境准备:确保目标服务器已安装JDK和相应的运行环境,如Tomcat或Jetty。 2. ...

    grails-用户手册

    GORM是Grails的持久化框架,它实现了Hibernate和ActiveRecord的功能,使得与数据库的交互变得简单。通过定义领域类,你可以轻松地完成CRUD(创建、读取、更新、删除)操作。 五、Grails插件系统 Grails的插件系统...

    grails快速开发web

    - **集成 Hibernate**:Grails 内置对 Hibernate 的支持,简化了数据库操作。 - **脚手架支持**:提供了一套快速原型开发工具,可以自动生成基本的应用程序结构。 - **插件系统**:拥有丰富的插件生态系统,可以通过...

    grails中文入门简介

    Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...

    Grails入门指南 -- 针对grails1.0.4更新

    #### 二、Grails环境搭建与基本应用 - **环境要求**: - **JDK5**及以上版本。 - **Grails1.0.4**版本。 - 支持的数据库(如MySQL、PostgreSQL等)。 - **开发工具**: - IntelliJ IDEA 8.1用于开发Grails应用,...

    Groovy和Grails配置方法

    Grails集成了许多先进的开源项目和技术,如Spring、Hibernate等,这使得开发者可以更加专注于业务逻辑而不是框架本身。 #### 二、环境配置 **1. 安装Java** Groovy和Grails都是基于Java平台的,因此首先需要安装...

    Grails中文参考手册

    Groovy 是一种面向对象的、动态的编程语言,与 Java 兼容,可运行在 JVM 上。Groovy 的语法简洁,支持闭包和 DSL(领域特定语言),使得代码更易读、易写,提高了开发者的生产力。 **MVC 架构** 在 Grails 中,MVC...

    grails-2.4.4.zip

    Grails 的强大之处在于其丰富的插件库,如Spring Security用于安全控制,Hibernate Search提供全文搜索功能,以及各种用于支付、邮件发送、社交网络集成的插件,极大地扩展了框架的功能。 6. **IDE集成** ...

    使用Grails快速开发Web应用

    1. **Domain Class**:表示数据模型,通常与数据库表相对应,Grails利用Hibernate进行对象关系映射。 2. **View (GSP)**:采用GSP(Groovy Server Pages)而非传统的JSP,允许嵌入Groovy代码,用于渲染用户界面。 3....

    Grails权威指南 中文版

    Grails的独特之处在于它能够吸收其他流行框架的优点,比如Spring的依赖注入、Hibernate的对象关系映射能力、Quartz的强大调度功能以及SiteMesh的布局管理,而这一切都可以在Grails的简单约定和简洁语法下实现。...

    Grails+快速开发+Web+应用程序.pdf

    - **与Hibernate集成**:通过Hibernate进行数据库操作,实现数据持久化。 - **与其他Java库的兼容性**:由于Groovy运行在JVM上,因此可以方便地调用任何Java库。 #### 八、学习Grails的先决条件 - **HTML与CSS**:...

    grails开发

    Grails集成了许多流行的开源库,如Hibernate(ORM),Spring(依赖注入),以及Freemarker或GSP(视图层模板引擎)。这使得Grails在开发过程中能够减少许多重复工作,让开发者更多地关注业务逻辑。 2. **Groovy语言...

    grails-core源码

    3. **Domain Classes**:Grails的领域模型类,基于Groovy,具有自动持久化的能力,通过`GORM(Grails Object Relational Mapping)`与数据库交互。 4. **Controllers**:控制层负责处理HTTP请求,调用业务逻辑,并...

    使用 Grails 快速开发 Web 应用程序

    1. **Domain Class**:对应模型,类似于数据库中的表,通过Hibernate自动映射,简化了数据访问层的代码。 2. **View**:Grails使用GSP(Groovy Server Pages)作为视图,类似于JSP,但更灵活,允许在页面中直接嵌入...

    grails-2.4.2开发包

    综上所述,Grails 2.4.2作为一款成熟的Web开发框架,结合了Groovy的灵活性、Spring的稳定性以及Hibernate的数据管理能力,为开发者提供了一站式的解决方案,使得构建现代Web应用变得更加便捷和高效。其丰富的功能和...

Global site tag (gtag.js) - Google Analytics