加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

jndi – persistence.xml中的错误

发布时间:2020-12-16 23:20:19 所属栏目:百科 来源:网络整理
导读:我正在尝试将一个简单的EJB项目部署到Jboss 7.1.1上.我有一个单独的H2数据库安装. 所以我更改了standalone.xml,如下所示: subsystem xmlns="urn:jboss:domain:datasources:1.0" datasources datasource jndi-name="java:jboss/datasources/ExampleDS" pool-
我正在尝试将一个简单的EJB项目部署到Jboss 7.1.1上.我有一个单独的H2数据库安装.

所以我更改了standalone.xml,如下所示:

<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:tcp://localhost/~/test</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>

现在我还编辑了persistence.xml以匹配standalone.xml中的名称

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">
    <persistence-unit name="scube" transaction-type="JTA">
        <provider>org.hibernate.ejb.HibernatePersistence</provider> 
        <class>com.sample.model.Property</class>

        <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source> 

        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
            <property name="hibernate.max_fetch_depth" value="3" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />
        </properties>
    </persistence-unit>
</persistence>

Eclipse,在行上指出错误:java:jboss / datasources / ExampleDS
错误如下:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'jta-data-source'. One of '{"http://java.sun.com/xml/ns/persistence":class,"http://java.sun.com/
 xml/ns/persistence":exclude-unlisted-classes,"http://java.sun.com/xml/ns/persistence":shared-cache-mode,"http://java.sun.com/xml/ns/persistence":validation-mode,"http://java.sun.com/xml/ns/persistence":properties}' is expected.

我搜索了类似的错误,所有的决议都说xml元素的顺序很重要,我检查过或者jndi名称应该与standalone.xml相匹配,它确实匹配.

有人可以帮我弄这个吗?

解决方法

XML元素的正确顺序(根据模式文档)是:

<provider>org.hibernate.ejb.HibernatePersistence</provider> 
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source> 
<class>com.sample.model.Property</class>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读