请教一个有关hibernate更新的奇葩问题!

ironwyu 2013-06-21 04:02:05
我执行更新一条数据的操作.在执行完dao层的saveOrUpdate方法后程序阻塞了(单线程),前台直接卡主不动了,debug在执行完下面方法后也停了.控制台也没报错.数据库也没更新.奇葩的是PL/SQL状态变成可提交状态.我点击提交后程序继续执行了,数据库的数据也更新了. 事务是在spring里配置好了,且其他模块程序更新没问题.
请问下有遇到过这种问题及解决方法的大神吗?这问题从没碰到过

执行到下面代码第7行调用下下面保存方法的之后程序就停了,且下下面方法返回为true...真心求解!

try {
boolean bool = DataSourse.coreServeice.saveOrUpdateNurse(tzyzss,
thlxls, tjss, tjls, tperson, tnurse,tjcqks);

if (bool) {
DialogManager.invokeWarnDlg("保存基本信息成功!");
bool = DataSourse.coreServeice.saveOrUpdate(tkzperson);
if(!bool){
DialogManager.invokeWarnDlg("保存家属关系信息失败!");
}

} else {
DialogManager.invokeWarnDlg("保存失败!");
}
} catch (BusinessException e) {
e.printStackTrace();
}

public boolean saveOrUpdate(Object obj) throws DaoException {

try{

this.getHibernateTemplate().saveOrUpdate(obj);

}catch (Exception e) {

throw new DaoException(GlobalFun.getErrCauseMsg(e));

}

return true;

}
...全文
116 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ironwyu 2013-06-21
  • 打赏
  • 举报
回复
引用 5 楼 yang1986com 的回复:
如果你们多人使用这个数据库的话,可以将最大连接数加大点
lfx_kobe 2013-06-21
  • 打赏
  • 举报
回复
不知道不知道
Stargazer2200 2013-06-21
  • 打赏
  • 举报
回复
如果你们多人使用这个数据库的话,可以将最大连接数加大点
ironwyu 2013-06-21
  • 打赏
  • 举报
回复
引用 3 楼 zcwgogo 的回复:
你就按我说的那个方法去看看你现在的数据库的连接数是多少,你这个问题有很大的可能是连接数过多了。
现在进PL/SQL看不到sessions啊.进那个界面是空的. 我好像是重启了PL/SQL之后,程序可以顺利执行了,可能就是你说的连接数过多了.但是貌似很难重现那个问题了.下次遇到注意下.谢谢仁兄解答!
zcwgogo 2013-06-21
  • 打赏
  • 举报
回复
你就按我说的那个方法去看看你现在的数据库的连接数是多少,你这个问题有很大的可能是连接数过多了。
ironwyu 2013-06-21
  • 打赏
  • 举报
回复
引用 1 楼 zcwgogo 的回复:
数据库最大连接数超过了吧,超过最大连接数所有的请求都会被延迟,要等那边连接释放掉才能继续执行新的。你可以用PLSQL看下有多少个连接,在 tools -sessions
不清楚到底是不是连接数超过了,我在同事电脑上测试了也是这种卡住的情况... 但是现在程序不知道怎么的又可以顺畅执行了- -但是还是想请教下这到底是怎么导致的?
zcwgogo 2013-06-21
  • 打赏
  • 举报
回复
数据库最大连接数超过了吧,超过最大连接数所有的请求都会被延迟,要等那边连接释放掉才能继续执行新的。你可以用PLSQL看下有多少个连接,在 tools -sessions

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧