社区
Java EE
帖子详情
hibernate+struts框架问题 高手进
johntmac
2010-06-01 03:34:31
我用这两个框架 从数据库查询信息 能成功 但是当我删除一条记录时 却跳出
org.hibernate.SessionException: Session is closed! 这是怎么回事 高手请教 谢谢
...全文
151
17
打赏
收藏
hibernate+struts框架问题 高手进
我用这两个框架 从数据库查询信息 能成功 但是当我删除一条记录时 却跳出 org.hibernate.SessionException: Session is closed! 这是怎么回事 高手请教 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
study_liuy
2010-06-01
打赏
举报
回复
把错误贴出来啊
johntmac
2010-06-01
打赏
举报
回复
没人能帮我吗?呼叫高手
johntmac
2010-06-01
打赏
举报
回复
[Quote=引用 13 楼 huaye2007 的回复:]
实在无法解决的话,把你这个语句去掉session.close()
[/Quote]
没用的 我试过了
johntmac
2010-06-01
打赏
举报
回复
[Quote=引用 9 楼 bjliuzg 的回复:]
public void delete(Class cs, Serializable id) {
// TODO Auto-generated method stub
Transaction tx=null;
Session session=HibernateSessionFactory.getSession();
try {
tx=session.beginTransaction();
……
[/Quote]
你session。close根本无法运行啊 一运行就报错, 一定要HibernateSessionFactory.closeSession();的啊 再说我查询关闭后 就如删除 有Session session=HibernateSessionFactory.getSession(); 然后开启事务的啊
huaye
2010-06-01
打赏
举报
回复
实在无法解决的话,把你这个语句去掉session.close()
johntmac
2010-06-01
打赏
举报
回复
[Quote=引用 10 楼 lxs512297816 的回复:]
也就是一的那方表删除了,但是对应的多的那方表没删除,看看的你的<one-to-many> 问题就在那。。。。
[/Quote]
<hibernate-mapping>
<class name="entity.Qx" table="QX" schema="dbo" catalog="Six">
<id name="qxid" type="java.lang.Integer">
<column name="qxid" />
<generator class="native" />
</id>
<property name="qxname" type="java.lang.String">
<column name="qxname" length="50" not-null="true" />
</property>
<set name="jds" inverse="true">
<key>
<column name="qxid" not-null="true" />
</key>
<one-to-many class="entity.Jd" />
</set>
</class>
</hibernate-mapping>
------------------------------上面那个是区县(一) 下面那个是街道(多),我删除的是街道(多)啊
<hibernate-mapping>
<class name="entity.Jd" table="JD" schema="dbo" catalog="Six">
<id name="jdid" type="java.lang.Integer">
<column name="jdid" />
<generator class="native" />
</id>
<many-to-one name="qx" class="entity.Qx" fetch="select" lazy="false" >
<column name="qxid" not-null="true" />
</many-to-one>
<property name="jdname" type="java.lang.String">
<column name="jdname" length="50" not-null="true" />
</property>
</class>
</hibernate-mapping>
johntmac
2010-06-01
打赏
举报
回复
[Quote=引用 8 楼 zhouenya 的回复:]
加到many-to-one 和one-to-many的set中
引用 6 楼 johntmac 的回复:
引用 4 楼 zhouenya 的回复:
实体类的映射文件存在many-to-one or one-to-many的关系?
如果存在,加上:fetch="join"
如果不是这个问题,应该是你取得返回值之前就关闭了session
嗯 存在关系 请问 fetch=“joi……
[/Quote]
加了 还是没用 对了 刚才one to many一方中的 fetch是=”select“ 不过我照你的都加了 join 还是报同样的错
lxs512297816
2010-06-01
打赏
举报
回复
也就是一的那方表删除了,但是对应的多的那方表没删除,看看的你的<one-to-many> 问题就在那。。。。
bjliuzg
2010-06-01
打赏
举报
回复
public void delete(Class cs, Serializable id) {
// TODO Auto-generated method stub
Transaction tx=null;
Session session=HibernateSessionFactory.getSession();
try {
tx=session.beginTransaction();
session.delete(this.get(cs, id));
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
}
上面的代码中 finally 中不要用 HibernateSessionFactory.closeSession();
这样的话是把所有的session都关闭了 ,你应该只关闭你上面创建的session就可以了,session.close();
zhouenya
2010-06-01
打赏
举报
回复
加到many-to-one 和one-to-many的set中
[Quote=引用 6 楼 johntmac 的回复:]
引用 4 楼 zhouenya 的回复:
实体类的映射文件存在many-to-one or one-to-many的关系?
如果存在,加上:fetch="join"
如果不是这个问题,应该是你取得返回值之前就关闭了session
嗯 存在关系 请问 fetch=“join" 加到哪一方?one?many?
[/Quote]
johntmac
2010-06-01
打赏
举报
回复
[Quote=引用 5 楼 pixiaozheng 的回复:]
跟你贴出来的代码没有关系。。
报异常的原因,你在做删除操作前,某些动作把session关闭了。。
[/Quote]
嗯 我也知道是关了 就是不知道做了什么关了 我之前就是一个简单的查询 然后成功 然后删除就这样了 望指教 谢谢
johntmac
2010-06-01
打赏
举报
回复
[Quote=引用 4 楼 zhouenya 的回复:]
实体类的映射文件存在many-to-one or one-to-many的关系?
如果存在,加上:fetch="join"
如果不是这个问题,应该是你取得返回值之前就关闭了session
[/Quote]
嗯 存在关系 请问 fetch=“join" 加到哪一方?one?many?
pixiaozheng
2010-06-01
打赏
举报
回复
跟你贴出来的代码没有关系。。
报异常的原因,你在做删除操作前,某些动作把session关闭了。。
zhouenya
2010-06-01
打赏
举报
回复
实体类的映射文件存在many-to-one or one-to-many的关系?
如果存在,加上:fetch="join"
如果不是这个问题,应该是你取得返回值之前就关闭了session
johntmac
2010-06-01
打赏
举报
回复
[Quote=引用 1 楼 tcmis 的回复:]
代码贴出来看看,,好像数据库会话是关闭的,没有打开。
[/Quote]
public void delete(Class cs, Serializable id) {
// TODO Auto-generated method stub
Transaction tx=null;
Session session=HibernateSessionFactory.getSession();
try {
tx=session.beginTransaction();
session.delete(this.get(cs, id));
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession();
}
}
-----------------------这是通用 dao类中的一个 删除方法
public class cityImpl {
private BaseHibernateDao bhd=new BaseHibernateDao();
public void del(int jdid){
bhd.delete(Jd.class, jdid);
}
}
----------------------------在biz中代码
public ActionForward del(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
CityForm cityForm = (CityForm) form;
biz.del(cityForm.getJd().getJdid());
return mapping.findForward("del");
}
------------------------------------在action中的代码
xinlan1022
2010-06-01
打赏
举报
回复
代码。。。。。。。。。
tcmis
2010-06-01
打赏
举报
回复
代码贴出来看看,,好像数据库会话是关闭的,没有打开。
Java
高手
真经.应用
框架
卷:Java Web核心
框架
:
Struts
1+
Struts
2+Spring+
Hibernate
+iBATIS
【Java Web核心
框架
:
Struts
1+
Struts
2+Spring+
Hibernate
+iBATIS】是Java领域中常见的Web应用程序开发
框架
的组合,用于构建高效、可维护的J2EE应用。这些
框架
各自承担着不同的职责,共同协作以实现业务逻辑、数据...
s2sh项目代码(
struts
2+
hibernate
+spring)
自己整理出来的项目,用
struts
2+
hibernate
+spring
框架
,mysql,jsp。很简单的一个项目,专门针对刚学完s2 sh
框架
,却不知道怎么去整合的朋友,我相信这个对你们会有所帮助,从简单入手,祝大家早日成为
高手
!
运用
Struts
2.0+Spring+
Hibernate
+Ext做的上传技术(JS
高手
制作)
Struts
2.0、Spring、
Hibernate
以及Ext是Java Web开发中的四大神器,它们共同构建了一个高效、可扩展的Web应用程序
框架
。在这个项目中,开发者利用这些技术实现了上传功能,并且在用户界面方面下了很大的功夫,使得...
自己写的
struts
2+
hibernate
+spring实例
可以直接导入. <br>查看说明: 当前只是自己看
struts
2的一点点资料随便写的一个简单的增删改查程序.全当给所有打算使用
struts
2却没有接触过的人一个入门而已.我也是初看.才2天而已.所以各位
高手
就不要笑话了.愿...
(2.0版本)自己写的
struts
2+
hibernate
+spring实例
所以没有上传导入的jar,其实就是默认的
struts
2和
hibernate
以及spring的包.该项目使用的jar包为以下. spring-beans.jar xwork-2.0.4.jar spring-context.jar ognl-2.6.11.jar spring-web.jar ...
Java EE
67,542
社区成员
225,857
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章