我已经编写了一个连接到oracle数据库并检索一些数据的代码。我打开了会话并将其正确关闭,但它似乎没有正确关闭。我通过查询发现它在活动会话中得到总数,并且它在增加,这是非常奇怪的。获取数据和查询非活动会话的代码如下所示。似乎session.close()函数不起作用,但我不知道为什么?我正在使用glassfish、jsf和10g oracle数据库。
select count(s.status) INACTIVE_SESSIONS
from gv$session s, v$process p
where
p.addr=s.paddr and
s.status='INACTIVE';
public List<TrxTender> getFileDetails() {
java.util.List l = null;
try {
sess = sessFactory.openSession();
Query q = sess.createQuery("from mytable");
l = q.list();
return l;
} catch (HibernateException hbx) {
hbx.printStackTrace();
} finally {
sess.flush();
sess.close();
}
return l;
}
1条答案
按热度按时间8hhllhi21#
在下面使用
property
在hibernate配置文件中,这样就不需要显式关闭会话。