2013-08-23 15 views
2

我有一個JavaEE應用程序,我需要使用嵌入式數據庫(在內存中)。我不想在JBoss中爲這個數據庫配置任何東西。因此,我不想使用JBoss數據源。如何在JavaEE應用程序中使用Derby Embedded + JPA 2.0 + Hibernate設置環境?

我試着以許多不同的方式設置,但到目前爲止沒有任何工作。這是我的當前設置:

  • JBoss的:7.1.1.Final
  • 德比:10.10.1.1
  • 休眠:4.1.0.Final Maven中

依賴關係:

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>6.0</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.derby</groupId> 
    <artifactId>derby</artifactId> 
    <version>10.10.1.1</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>4.1.0.Final</version> 
    <scope>provided</scope>  
</dependency>  
<dependency> 
    <groupId>org.hibernate.javax.persistence</groupId> 
    <artifactId>hibernate-jpa-2.0-api</artifactId> 
    <version>1.0.1.Final</version> 
    <scope>provided</scope>    
</dependency> 

Persistence.xml:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
    version="2.0"> 

    <persistence-unit name="TributarioEmbarcado" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 

     <class>com.sysmo.client.tributario.baseEmbarcada.model.LoginEmbarcado</class> 
     <class>com.sysmo.client.tributario.baseEmbarcada.model.ConfiguracaoEmbarcado</class> 
     <properties> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect" /> 
      <property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver" /> 
      <property name="hibernate.connection.url" value="jdbc:derby:memory:sysmo_tributario_embarcado;create=true" /> 
      <property name="hibernate.connection.username" value="admin" /> 
      <property name="hibernate.connection.password" value="passwd" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

我試圖使用javax.persistence。*屬性,但似乎不能與hibernate特定的提供程序(org.hibernate.ejb.HibernatePersistence)一起使用。發現對於JDBC沒有合適>驅動器 -

ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper](4 EJB默認值):

與該配置,這樣做部署在JBoss時,會發生這種誤差:德比:存儲器:sysmo_tributario_embarcado;創建=真

類org.apache.derby.jdbc.EmbeddedDriver是我在行家中配置的德比封裝內。我究竟做錯了什麼?

回答

0

你可以試試這個:

`

 <property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver" /> 
     <property name="hibernate.connection.url" value="jdbc:derby:dbname;create=true" /> 
     <property name="hibernate.connection.username" value="" /> 
     <property name="hibernate.connection.password" value="" /> 
     <!-- Hibernate configuration --> 
     <property name="hibernate.hbm2ddl.auto"  value="create-drop"/> 
    </properties> 

`

它爲我工作。

相關問題