我遇到了这个问题:使用 vaadin 7,我已经配置了我的 persistence.xml ,这是代码
<?xml version="1.0" encoding="UTF-8"?>
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
<persistence-unit name="xxxx">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://xxxxx;databaseName=xxxx;"/>
<property name="javax.persistence.jdbc.user" value="xxxx"/>
<property name="javax.persistence.jdbc.password" value="xxxx"/>
<property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="hibernate.connection.release_mode" value="after_transaction" />
</properties>
</persistence-unit>
当我创建一个新的 JPAContainer 并将其绑定到表时,我会在 MSSQL 活动监视器上看到我的新连接,但如果我的会话超时或注销,我仍然会在 SQL 上看到连接。
如果我重新登录我的应用程序并刷新表格,则会打开一个新连接,依此类推。
然后我的问题是我的 sql 服务器上有大量打开的连接,这些连接从未关闭。
我试图添加属性
<property name="hibernate.connection.release_mode" value="after_transaction" />
但没有任何改变。你能帮我吗?我错过了什么?非常感谢