繁体   English   中英

将 Jakarta EE 项目连接到 H2 数据库时出现异常

[英]Getting exception on connecting Jakarta EE project to H2 database

我正在尝试将我的 Jakarta EE 9.1.0 项目连接到 H2 数据库,但出现此异常:

org.h2.jdbc.JdbcSQLNonTransientConnectionException:重复的属性“用户”[90066-212]

这是我的persistance.xml 文件(版本=“3.0”) persistence-unit部分:

<persistence-unit name="PersistenceUnit" transaction-type="JTA">
    <jta-data-source>java:global/dataSource</jta-data-source>
    <properties>
        <property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create"/>
    </properties>
</persistence-unit>

和 web.xml 文件 (version="5.0") data-sourceH2Console servlet部分:

<data-source>
    <name>java:global/dataSource</name>
    <class-name>org.h2.jdbcx.JdbcDataSource</class-name>
    <url>jdbc:h2:file:D:/testdb;USER=sa;PASSWORD=123</url>
</data-source>

<servlet>
    <servlet-name>H2Console</servlet-name>
    <servlet-class>org.h2.server.web.JakartaWebServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>H2Console</servlet-name>
    <url-pattern>/h2/*</url-pattern>
</servlet-mapping>

在 pom.xml 文件中,我添加了这个 H2 依赖项:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.212</version>
</dependency>

有人可以帮助解决编码问题吗?

我刚刚在persistence.xml文件中添加了这两行并修复了错误:

<property name="jakarta.persistence.jdbc.user" value="user"/>
<property name="jakarta.persistence.jdbc.password" value="password"/>

持久化配置(persistence.xml)完整persistence-unit标签如下:

<persistence-unit name="PersistenceUnit" transaction-type="JTA">
    <jta-data-source>java:global/dataSource</jta-data-source>
    <properties>
        <property name="jakarta.persistence.schema-generation.database.action" value="create"/>
        <property name="jakarta.persistence.jdbc.user" value="user"/>
        <property name="jakarta.persistence.jdbc.password" value="password"/>
    </properties>
</persistence-unit>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM