gpt4 book ai didi

mysql - Hibernate 不释放 MySQL 连接

转载 作者:行者123 更新时间:2023-11-29 01:03:28 25 4
gpt4 key购买 nike

我是 hibernate 新手。我正在创建一些基本的 hibernate 程序来插入 MySql 数据库。下面是我写的主要代码。虽然我在事务后关闭 session 并在控制台上看到“已发布的 JDBC 连接”,但在运行程序后我可以在数据库中看到一个非事件连接。每次我运行该程序时,都会在数据库中创建一个新的非事件连接。我每次都必须单击 Eclipse 控制台中的“终止”按钮来停止该非事件 session 。

Student s1 = new Student();
s1.setName("Monaj");
s1.setRoll(1);
s1.setDate(new Date());

Configuration configuration = new Configuration().configure();
serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
sessionFactory = configuration.configure()
.buildSessionFactory(serviceRegistry);

Session session=sessionFactory.openSession();
Transaction t1=session.beginTransaction();
session.save(s1);
t1.commit();
session.close();

控制台输出:-

15:29:08.476 [main] DEBUG o.h.e.j.i.LogicalConnectionImpl - Aggressively releasing JDBC connection
15:29:08.476 [main] DEBUG o.h.e.j.i.LogicalConnectionImpl - Releasing JDBC connection
15:29:08.476 [main] DEBUG o.h.e.j.i.LogicalConnectionImpl - Released JDBC connection
15:29:08.477 [main] DEBUG o.h.e.j.internal.JdbcCoordinatorImpl - HHH000420: Closing un-released batch
15:29:37.323 [pool-1-thread-1] DEBUG o.h.e.j.c.i.DriverManagerConnectionProviderImpl - Connection pool now considered primed; min-size will be maintained

hibernate 配置:-

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/test</property>
<property name="connection.password">password</property>
<property name="connection.username">admin</property>
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<property name="connection.release_mode">AFTER_TRANSACTION</property>
<property name="connection.autocommit">true</property>

谁能帮我解决这个问题。

================================添加分析============= ==============

对于服务器,有针对此问题的修复程序,例如在使用 IBM WebSphere 时,有一个最小连接池选项。如果我们将其设为 0。我认为它会得到解决。

但对于使用 eclipse 的独立应用程序,不确定哪里出了问题。 :(

最佳答案

尝试将连接 Release模式设置为“自动”

<property name="connection.release_mode">auto</property>

引用这个manual了解更多信息。

希望这有帮助..

关于mysql - Hibernate 不释放 MySQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com