读书人

应用HSQLDB来作EJB3 EntityBean到Unit

发布时间: 2012-11-08 08:48:11 作者: rapoo

使用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 closeadd 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.HSQLDialectdb.driver=org.hsqldb.jdbcDriverdb.url=jdbc:hsqldb:mem:DBNamedb.username=sadb.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>
?

?

?

?

?

读书人网 >其他数据库

热点推荐