3

我正在使用 JBoss AS 7.1.1,但我的数据库有问题 - 每次我重新启动服务器时它都会被删除。下面你可以看到我的持久化文件的内容:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.0" 
            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_1_0.xsd"> 
    <persistence-unit name="wyklad2"> 
        <provider>org.hibernate.ejb.HibernatePersistence</provider> 
        <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source> 
        <properties> 
            <property name="hibernate.hbm2ddl.auto" value="update" /> 
            <property name="hibernate.show_sql" value="false" /> 
        </properties> 
    </persistence-unit> 
 </persistence>

数据源配置:

    <subsystem xmlns="urn:jboss:domain:datasources:1.0"> 
            <datasources> 
                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true"> 
                    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url> 
                    <driver>h2</driver> 
                    <security> 
                        <user-name>sa</user-name> 
                        <password>sa</password> 
                    </security> 
                </datasource> 
                <drivers> 
                    <driver name="h2" module="com.h2database.h2"> 
                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> 
                    </driver> 
                </drivers> 
            </datasources> 
        </subsystem>

我将非常感谢任何可以帮助我解决此问题的线索。

4

1 回答 1

10

您使用的数据源是内存中的 h2 数据库。当您的服务器出现故障时,该数据库将不复存在。

改用真实的数据库。

对于 h2,语法是:jdbc:h2:~/mydb;DB_CLOSE_DELAY=-1对于位于 ~/mydb 中的数据库。使用您喜欢的任何路径(您应该具有写入权限)。

于 2012-04-05T13:48:50.067 回答