我有一个JavaEE应用程序,我需要使用嵌入式数据库(在内存中)。我不想在JBoss中为这个数据库配置任何东西。因此,我不想使用JBoss数据源。
我尝试过多种不同的方式,但到目前为止还没有成功。这是我目前的设置:
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)。
使用该配置,在JBoss上进行部署时会发生此错误:
错误[org.hibernate.engine.jdbc.spi.SqlExceptionHelper](EJB默认值 - 4)找不到合适的&gt;驱动程序为jdbc:derby:memory:sysmo_tributario_embarcado; create = true
类org.apache.derby.jdbc.EmbeddedDriver位于我在maven中配置的Derby包中。我做错了什么?
答案 0 :(得分: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>
`
它对我有用。