我的项目里没有spring,然后在baseHibernateDAO中比如一个获取对象的代码:
public Object getObjectByID(Class clazz,Integer id){
try{
getSession();
Object obj = session.get(clazz, id);
return obj;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
如果我在catch后加上finally{closeSession();}那么就不能执行many to one这样的级联查询,那如果不关闭行吗,
getSession()是从threadLocal中得到的session对象。
public Object getObjectByID(Class clazz,Integer id){
try{
getSession();
Object obj = session.get(clazz, id);
return obj;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
如果我在catch后加上finally{closeSession();}那么就不能执行many to one这样的级联查询,那如果不关闭行吗,
getSession()是从threadLocal中得到的session对象。
解决方案 »
- java spring 教材与视频
- ibatis中xml解析问题Attribute "recource" must be declared for element type "properties
- structs2返回json格式不知道怎么返回
- 删除同一条记录的问题?
- 第一个HelloWorld的Struts2程序出错了。请大家看一下是什么问题。感谢。感谢。:(
- 我学JAVA非要先学JSP吗?(初学者)
- <个人观点,欢迎指正> 关于 异常处理的一些想法。
- 100分问,java图形界面的应用程序问题
- struts问题
- 紧急求助;数字和大写数字的转换问题,各位大哥帮忙。
- Linux下如何获取本机mac地址?
- 高手来看看~~
--
但是我不明白咋跟级联有关系。你的级联没有设置lazy=false?
1.hibernate的session如果没有交给spring管理,是无法自动关闭的,必须手动关闭。
2.session关闭和<many-to-one>是没有关系的,只有在load的时候会报session关闭的错误,这个可以通知一下配置更改的。
我建议你把session关闭,至于你说的那种级联查询我建议你修改代码规范,因为我认为你的代码规范存在很大的问题。