如何使用 JPA 即 Hibernate EntityManager 解决“使用 Hibernate 内置连接池(不适用于生产!)”

问题描述 投票:0回答:2

一般来说,我是 Hibernate 和 JPA 的新手。

这个warning我看了很多,还是解决不了

目前看的答案,都说项目中必须要有

hibernate.cfg.xml
。 但我也读到:

如果您使用的是 JPA,即 Hibernate EntityManager,您将需要 persistence.xml。所以您通常不需要两者,因为您使用 Hibernate 专有 API 或 JPA。 (Hibernate 的两个配置文件的目的是什么?

使用

persistence.xml
我每次使用Hibernate都会有这个警告。

这是我的

persistence.xml

<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="integration"
        transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <properties>
            <property name="hibernate.dialect"
                value="org.hibernate.dialect.MySQL5InnoDBDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/db-name?autoReconnect=true"/>
            <property name="hibernate.connection.username" value="root" />
            <property name="hibernate.connection.password" value="root" />
            <property name="hibernate.show_sql" value="false" />
            <property name="hibernate.format_sql" value="true" />
            <property name="hibernate.id.new_generator_mappings"
                value="true" />
        </properties>
    </persistence-unit>

</persistence>

我不知道我做错了什么。

提前致谢

java hibernate jpa connection-pooling
2个回答
1
投票

这只是一个警告,说明您正在使用内置连接池,这在生产环境中不是合适的解决方案,您应该在生产环境中使用应用程序服务器连接池。根据您的应用程序服务器,您可以在应用程序服务器内部设置数据库连接,然后配置休眠以使用该连接。 但是如果你想在不配置应用服务器的情况下解决这个问题,你可以看到this.


0
投票
在 persistence.xml 文件中添加此代码(连接池代码)。
© www.soinside.com 2019 - 2024. All rights reserved.