3

埋め込みデータベース (メモリ内) を使用する必要がある JavaEE アプリケーションがあります。このデータベース用に JBoss で何も設定する必要はありません。したがって、JBoss データソースを使用したくありません。

さまざまな方法でセットアップを試みましたが、これまでのところうまくいきませんでした。これは私の現在の設定です:

  • 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.* プロパティを使用しようとしましたが、休止状態固有のプロバイダー (org.hibernate.ejb.HibernatePersistence) では動作しないようです。

その構成では、JBoss でデプロイを実行すると、次のエラーが発生します。

エラー [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EJB デフォルト - 4) jdbc:derby:memory:sysmo_tributario_embarcado に適したドライバーが見つかりません;create=true

クラス org.apache.derby.jdbc.EmbeddedDriver は、Maven で構成した Derby パッケージ内にあります。私は何を間違っていますか?

4

1 に答える 1

1

これを試すことができます:

`

        <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>

`

それは私のために働いた。

于 2015-02-04T10:35:26.770 に答える