`
IvanLi
  • 浏览: 605109 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用HSQLDB来作EJB3 EntityBean到Unit Test要点

阅读更多
  • add <property name="hibernate.hbm2ddl.auto" value="create-drop"/> to hibernate property this will re-create table when SessionFactory init, drop table when session factory close
  • add HSQLDB dependency into pom.xml
 
<dependency>
          <groupId>hsqldb</groupId>
          <artifactId>hsqldb</artifactId>
          <version>1.8.0.7</version>
          <scope>test</scope>
        </dependency>
  •  prepare meta data, and insert the meta data into MemDB, now I use @Before annotation from Junit, so I need to test if we need to insert the data indead, because the method annotated by  @Before will be executed each time for test method

 

@Before
    public void prepareData() throws ServiceException {
        if($needPrePareData){
            executeSqlFile("init_data.sql");
        }
    }
private void executeSqlFile(String fileName){
        try{
            File refFile = new File(ClassLoader.getSystemResource(fileName).toURI());
            SqlFile sqlFile = new SqlFile(refFile,false,null);
            sqlFile.execute(dataSource.getConnection(), true);
        }catch(Exception e){
            System.out.println("exception when prepare Data ");
            e.printStackTrace();
        }
    }
  •  use HSQLDB releated property
db.dialect=org.hibernate.dialect.HSQLDialect
db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:mem:DBName
db.username=sa
db.passwd=
  • we can also use hibernate3-maven-plugin to generate ddl from JPA annotation
    •  http://mojo.codehaus.org/maven-hibernate3/hibernate3-maven-plugin/
    •  ref article here http://unmaintainable.wordpress.com/2008/04/12/hibernate3-schema-creation/
    • pay more attention on the <implementation>jpaconfiguration</implementation>, it indicate that the plugin will use jpa as default implemtation
<build>
  <plugins>
    <!-- other plugins ... -->
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>hibernate3-maven-plugin</artifactId>
      <version>2.2</version>
      <executions>
        <execution>
          <phase>process-classes</phase>
          <goals>
            <goal>hbm2ddl</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <components>
          <component>
            <name>hbm2ddl</name>
            <implementation>jpaconfiguration</implementation>
          </component>
        </components>
        <componentProperties>
          <persistenceunit>Default</persistenceunit>
          <outputfilename>schema.ddl</outputfilename>
          <drop>false</drop>
          <create>true</create>
          <export>false</export>
          <format>true</format>
        </componentProperties>
      </configuration>
    </plugin>
  <plugins>
</build>
 

 

 

 

 

分享到:
评论

相关推荐

    hsqldb使用(转载)

    通过JDBC,我们可以使用`jdbc:hsqldb:hsql://localhost:9002/test`连接到服务器。 - **In-Process (Standalone)模式**:在这种模式下,数据库与应用程序在同一进程中运行,访问速度最快。但是,它仅限于当前进程,...

    Unit Test by Spring+HSQLDB

    NULL 博文链接:https://gavin2lee.iteye.com/blog/2052929

    <转>HSQLDB 安装与使用

    3. **配置**: 在运行HSQLDB时,可以通过配置文件(如`hsqldb.properties`)来定制数据库的设置,如数据文件路径、端口号等。 ### 使用HSQLDB 1. **创建数据库**: 通过SQL命令`CREATE DATABASE`可以在HSQLDB中创建...

    hsqldb包和使用说明

    HSQldb因其小巧、快速和易用的特点,在Java开发中尤其受到青睐,特别是对于那些需要在内存中或磁盘上存储数据的应用来说。 标题中的"hsqldb包"指的是HSQldb的软件包,通常包含HSQldb的核心库hsqldb.jar文件。这个...

    JBOSS+EJB3+MYSQL开发

    总结来说,JBOSS+EJB3+MySQL的开发涉及到以下几个关键步骤: 1. 安装和配置JBOSS服务器,确保其能够正常运行。 2. 将MySQL JDBC驱动添加到JBOSS服务器的类路径。 3. 创建并配置`mysql-ds.xml`文件,定义数据源连接...

    HSQLDB快速连接数据库

    2. **SQL问题**:探讨了HSQLDB对SQL标准的支持程度,包括对各种SQL语句(如SELECT、UPDATE等)的解释和示例,以及如何使用HSQLDB来管理数据完整性约束。 3. **UNIX下快速起步**:提供了一套适用于UNIX系统的快速入门...

    hsqldb快速入门

    3. **In-Memory模式**:数据存储在内存中,不持久化到磁盘,关闭连接后数据丢失。JDBC连接示例: ```java Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", ""); ``` **HSQldb管理...

    HSQLDB

    使用JDBC(Java Database Connectivity)可以连接到HSQLDB。以下是一个简单的示例: ```java Class.forName("org.hsqldb.jdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:hsqldb:hsql://...

    hsqldb的最新版本

    在使用HSQldb时,你需要按照官方文档的指示进行安装和配置,然后通过JDBC驱动连接到数据库,使用SQL语句进行数据操作。同时,了解如何配置数据库参数、管理用户权限以及进行数据库的备份和恢复,都是使用HSQldb时不...

    hsqldb-2.2.8数据库

    在使用HSQldb-2.2.8时,开发者通常会通过下载解压后的文件,找到对应的JDBC驱动(通常为`hsqldb.jar`),将其添加到项目的类路径中,然后通过JDBC API连接到数据库。HSQldb的配置文件(如`hsqldb.properties`)可以...

    hsqldb 2.25

    在压缩包`hsqldb-2.2.5`中,包含HSQldb 2.25的所有相关文件,包括jar包和其他资源文件,这些文件可以直接集成到使用JDK 1.5的Java项目中,以实现数据库的连接和操作。 总的来说,HSQldb 2.25是一款专为JDK 1.5设计...

    hsqldb-lib.zip

    总的来说,HSQldb-lib.zip这个压缩包为HSQldb的开发者和使用者提供了更广泛的兼容性和功能性,使得HSQldb能够更好地适应各种复杂的开发场景。理解这些额外库的作用和用法,将有助于我们更有效地利用HSQldb进行数据库...

    开源数据库软件hsqldb

    2. **连接数据库**:使用JDBC驱动进行连接,如`jdbc:hsqldb:hsql://localhost/test`,其中`test`是数据库名。 3. **创建表**:通过SQL语句`CREATE TABLE`定义表结构,如`CREATE TABLE Users (id INT PRIMARY KEY, ...

    HSQLDB.zip

    描述中提到的"TestByJDBC设置参数",是指使用Java的JDBC(Java Database Connectivity)接口来与HSQLDB交互。JDBC是Java标准API,允许Java程序连接和操作各种类型的数据库。在HSQLDB中,我们需要导入对应的JDBC驱动...

    HSQLDB的使用

    **HSQLDB简介** HSQLDB(HyperSQL Database)是一个开源、轻量级、高性能的关系型数据库管理系统,广泛应用于测试、开发以及嵌入式环境。它支持标准的SQL语法,并且提供了多种数据库引擎模式,包括内存模式、文件...

    HSQLDB 1.8.0

    1. **嵌入式应用**:由于HSQLDB的轻量级特性,常被用于嵌入到Java应用程序中,作为内置数据库,如桌面软件、移动应用等。 2. **开发测试**:在软件开发过程中,HSQLDB作为测试数据库,可以快速搭建测试环境,模拟...

    hsqldb demo

    总的来说,"hsqldb demo"提供了一个实践HSQldb 功能的起点,让开发者能够更好地理解和运用这个轻量级的数据库系统。通过深入研究这个示例,你可以掌握HSQldb 的基本操作和特性,为你的项目开发带来便利。

Global site tag (gtag.js) - Google Analytics