解决方案 »
- transaction propagation
- 表关系设计问题
- 请救大家eclipse和tomcat5的集成
- 向mysql数据库添加数据报错
- 关于hibernate中 ID自增是怎样处理的啊?
- java获得主机CPU占用率,磁盘空间等等指标,怎么做?
- 那位大哥有<<struts in action>>的书上的源代码呀!
- 程序中实现了下载功能 但是在弹出下载框时后面总是附带一个空白页面 请问如何才能让空白页面不出现?
- dao是何物??能给个例子码??
- JBoss与JBuilder7联合开发的初级问题:如何把CMP BEAN 与实际的表联系起来
- 导入struts标签报错:File /struts-tags not found,刚学struts2第一个程序就这样。。。
- Hibernate 中 update 不执行,不报错
额 不是很懂你的意思
你把hibernate的sql打印打开,你User实体里面是不是很多关联对象,你看看你控制台是否发出了很多的关联查询
额 不是很懂你的意思
你把hibernate的sql打印打开,你User实体里面是不是很多关联对象,你看看你控制台是否发出了很多的关联查询
Hibernate: select user0_.UserId as UserId2_, user0_.UserName as UserName2_, user0_.Name as Name2_, user0_.Password as Password2_, user0_.PartOfDepartment as PartOfDe5_2_, user0_.PartOfRole as PartOfRole2_, user0_.Tel as Tel2_, user0_.Email as Email2_, user0_.LawID as LawID2_, user0_.PartOfPost as PartOfPost2_, user0_.UserStatus as UserStatus2_ from mm_User user0_ where user0_.UserId=9应该没把
没问题 很快就出来了 就300多条数据那你还是从代码上找原因 个人觉得用spring和hibernate 一个方法你能写出这么多行 这就不合理
没问题 很快就出来了 就300多条数据那你还是从代码上找原因 个人觉得用spring和hibernate 一个方法你能写出这么多行 这就不合理
额 不是很懂你的意思
你把hibernate的sql打印打开,你User实体里面是不是很多关联对象,你看看你控制台是否发出了很多的关联查询
Hibernate: select user0_.UserId as UserId2_, user0_.UserName as UserName2_, user0_.Name as Name2_, user0_.Password as Password2_, user0_.PartOfDepartment as PartOfDe5_2_, user0_.PartOfRole as PartOfRole2_, user0_.Tel as Tel2_, user0_.Email as Email2_, user0_.LawID as LawID2_, user0_.PartOfPost as PartOfPost2_, user0_.UserStatus as UserStatus2_ from mm_User user0_ where user0_.UserId=9应该没把
什么叫应该没,有没有楼主看控制台就看到了啊。如果都没有关联查询不会有,那楼主要确定下是否真的是query.list执行很久了,因为你的sql在数据库执行很快的
额 不是很懂你的意思
你把hibernate的sql打印打开,你User实体里面是不是很多关联对象,你看看你控制台是否发出了很多的关联查询
Hibernate: select user0_.UserId as UserId2_, user0_.UserName as UserName2_, user0_.Name as Name2_, user0_.Password as Password2_, user0_.PartOfDepartment as PartOfDe5_2_, user0_.PartOfRole as PartOfRole2_, user0_.Tel as Tel2_, user0_.Email as Email2_, user0_.LawID as LawID2_, user0_.PartOfPost as PartOfPost2_, user0_.UserStatus as UserStatus2_ from mm_User user0_ where user0_.UserId=9应该没把
什么叫应该没,有没有楼主看控制台就看到了啊。如果都没有关联查询不会有,那楼主要确定下是否真的是query.list执行很久了,因为你的sql在数据库执行很快的
是 query.list 的 问题 我在它的前后输出过 是这句话很慢
System.out.println("1");
List<User>list=query.list();
System.out.println("2");就是这样呀 1一下就出来了 2隔了好久才出来的
一条 根据id查找 肯定是只有一条 数据库里有300多条你先换成简单jdbc用select直接查询看看需要多长时间。
一条 根据id查找 肯定是只有一条 数据库里有300多条你先换成简单jdbc用select直接查询看看需要多长时间。我写了个同样的方法 不是从最上面的方法里面开始调的 那样就很快了 会不会 两个session的问题呀
.openSession()不是和getCurrentSession不能一起用的呀
我是说多运行几次findUsername(int id)这个方法,比如循环10次?你在运行这个方法之前是否运行了一些hibernate的save或者update(在一次请求期间)?
我是说多运行几次findUsername(int id)这个方法,比如循环10次?你在运行这个方法之前是否运行了一些hibernate的save或者update(在一次请求期间)?它好想 一开始就运行10次的 主要我第一个方法 是取前10条数据 然后去每一条数据的时候都运行一次下面的方法
没运行过 登录界面进来就是运行我的方法了
我试了下 还是很慢
哎,lz比较倒霉啊。这按说不至于的。实在不行只能看看单独使用hibernate,不用spring。
我试了下 还是很慢
哎,lz比较倒霉啊。这按说不至于的。实在不行只能看看单独使用hibernate,不用spring。 我觉得是不是 调了2次 session 的缘故呀
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
Query query=session.createQuery(hql);
List<User>list=query.list(); //这条运行的很慢 要9秒
String name=list.get(0).getName();
session.clear();
session.close();
哪儿有2次?再说2次也应该没事
这个方法 不是从另一个方法 开始调用的呀 那个方法 也有session
openSession();
session.clear();
session.close();操作在循环里面执行次数很多
st = new LeaveOrOtKindbean();
Object[] object = (Object[]) iterator1.next();
LeaveOrOt l=(LeaveOrOt) object[0];
LeaveOrOtKind lk=(LeaveOrOtKind) object[1];
User u =(User) object[2];
approvalName=findUsername(l.getApprovalID1()); //每次循环都打开一个新的session,连接池都会爆掉,不慢才怪
st.setApprovalName(approvalName);
list1.add(st);
}
还是采用spring的代理类来管理事务吧,不会百度
.openSession()不是和getCurrentSession不能一起用的呀
approvalName=findUsername(approvalID,session);public String findUsername(int id ,Session session){ //通过id 获得user表的name
String hql="from User u where u.userId="+id;
// Session session=getHibernateTemplate().getSessionFactory().openSession(); //getCurrentSession();获取当前存在的
Query query=session.createQuery(hql);
List<User>list=query.list();
String name=list.get(0).getName();
return name;
}改成这样就可以了