我不熟悉hibernate。我正在创建一些基本的hibernate程序来插入到MySql数据库中。下面是我写的主要代码。尽管我在事务后关闭会话,并在控制台上看到“释放的JDBC连接”,但在运行程序后,我可以在数据库中看到一个非活动的连接。每次我运行该程序时,都会在数据库中创建一个新的非活动连接。每次我都要在eclipse控制台中点击"terminate“按钮来停止不活动的会话。
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配置:-
com.mysql.jdbc.Driver
jdbc:mysql://localhost/test
password
admin
org.hibernate.dialect.MySQL5Dialect
true
create
AFTER_TRANSACTION
true
有没有人能帮我个忙。
==Adding分析==
对于服务器,有一个修复程序可以解决这个问题,比如在使用IBM时,有一个最小连接池的选项。如果我们把它设为0。我想它会得到解决的。
但是对于使用eclipse的独立应用程序,不确定出了什么问题。:(
发布于 2014-01-18 19:00:16
尝试将连接释放模式设置为"auto“
auto
请参考以下内容
手册
了解更多信息。
希望这能帮上忙..
https://stackoverflow.com/questions/21203005
复制相似问题