我在控制台观察一条hql语句生成很多条一样的sql语句。下面是一个例子:
String hql = "from users u where u.name=?";
它在控制台显示很多 select 列名1,列名2,列名n,列名等等 from users u where u.name =? ;它生成很多sql语句,导致我连接数据库的连接数满了,报连接数满了的错误。
String hql = "from users u where u.name=?";
它在控制台显示很多 select 列名1,列名2,列名n,列名等等 from users u where u.name =? ;它生成很多sql语句,导致我连接数据库的连接数满了,报连接数满了的错误。
解决方案 »
- Failed to read input解决方案
- extjs中的问题
- JAVA包装类的问题
- 一个毛驴在两颗青草间无所适从(时间短 底子薄 是学JAVA还是C++?)
- 急!!!!!!!!!!关于spark
- 着急啊,JSF EL表达式如何获取jsp中的变量啊
- 怎样在Eclipse中导入EJB的类?
- [當天結帳]strutsStudio中如何設置jboss或tomcat的server.xml.可以直接測試jsp頁面?
- 急救,有没有在JBoss3.2.x上开发遇到这样的古怪问题,请看内容.
- 闷闷闷,在JBuilder中,为什么我一运行汉字输入法(如:全拼、双拼等),JBuilder程序就会死。
- 急!关于工作流引擎 的总题
- 着急 hibernate one to many 问题
这个问题不好解决吧,主要问题是Hb外键关联的问题,比如你查找一批用户,比如你又同时查每个用户的一个外键属性(比如用户的角色),在Hb里面表现为一个Class类,那么有可能查询角色时是一个一个查询的,Hb输出的SQL全部是,或许就是你感觉的一样。
select ... from role where roleId = ?;
select ... from role where roleId = ?;
select ... from role where roleId = ?;
...但是实际的SQL或许是select ... from role where roleId = 1;
select ... from role where roleId = 2;
select ... from role where roleId = 3;
...
所以实际实际查询的SQL不是一样的。但是这些查询都应该是在一个session(也是一个Connection)里完成的,不清楚为什么你的会连接满了,是不是没关闭session?
你的数据库连接数满了 和你描述的问题没关系你是在多次执行这个HQL的查询后会链接满掉挤死web应用?