CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

有状态sessionbean,里为什么会出现这种情况啊?(对hibernate的操作总失败)

楼主noscar(java+Linux)2005-01-02 21:50:53 在 Java / 框架、开源 提问

有状态sessionbean,里为什么会出现这种情况啊?(对hibernate的操作总失败)。小弟实在不明白这是为什么????我把对hibernate的操作,放到jsp里来调试,就没问题,但把代码复制到stateful   sessionbean   里,一执行到   commit(),就会出错,说有   提交sql异常产生。。。。。这是为什么啊???请大家帮忙啊》》》》》 问题点数:50、回复次数:7Top

1 楼redex(cc)回复于 2005-01-03 11:24:33 得分 50

开发ejb有很多限制的,楼主可以把代码帖出来看看.Top

2 楼noscar(java+Linux)回复于 2005-01-03 11:48:25 得分 0

我用的是,stateful   sessionbean   :bean里的方法是:  
   
  public   List   ListAll(String   hql)   {  
   
          List   lis=null;  
          try{  
   
          Hibernate   hibernate=new   Hibernate();  
          Session   ses=hibernate.getSession();  
   
          Transaction   tx=ses.beginTransaction();  
          lis=ses.find(hql);  
          tx.commit();  
          ses.close();  
          return   lis;  
      }catch(Exception   e){  
          System.out.println("Error   in   listbean:"+e);  
      }  
        return   lis;  
      }  
   
  其中Hinernate对象的class是:  
   
  Hibernate.java:  
   
  public   class   Hibernate   {  
   
      private   Configuration   cfg;  
        private   SessionFactory   factory;  
        private   Session   session;  
   
   
      public   Hibernate()   {  
                          try{  
                                  this.cfg=new   Configuration();  
                                  cfg.configure();  
                                  this.factory=this.cfg.buildSessionFactory();  
                                  this.session=this.factory.openSession();  
   
                                  }catch(Exception   e1){  
                                  System.out.println("Error   e1   in   list:"+e1);  
                                  }  
   
      }  
      public   Session   getSession(){  
              return   this.session;  
      }  
   
   
  调用的程序是:  
   
   
    EjbClient   client=new   EjbClient("ListLocalHome",ListLocalHome.class);  
          ListLocalHome   home=(ListLocalHome)client.getHome();  
          ListLocal   local=home.create(5);  
          List   list=local.ListAll("from   Employee");  
   
          /*List   lis=null;  
          Hibernate   hibernate=new   Hibernate();  
          Session   ses=hibernate.getSession();  
   
          Transaction   tx=ses.beginTransaction();  
          lis=ses.find("from   Employee");  
          tx.commit();  
          ses.close();*/  
   
   
  如果,我在jsp文件里用   上面注释的代码就没问题,但是,用   没有注释的代码,就会在bean里抛出   :  
   
  commit   sql   Exception:Top

3 楼vongood((my c++))回复于 2005-01-03 12:11:34 得分 0

关注,正想学习hibernate。  
  可是没有时间。Top

4 楼noscar(java+Linux)回复于 2005-01-03 13:44:44 得分 0

抛出:  
  Error   in   listbean:net.sf.hibernate.TransactionException:   Commit   failed   with   SQL   exception:  
   
  Top

5 楼nbb()回复于 2005-01-03 13:48:37 得分 0

我爱你,Java!你爱我吗?Top

6 楼redex(cc)回复于 2005-01-03 14:41:19 得分 0

我想你可以去调一调ejb的事务级别试试.Top

7 楼noscar(java+Linux)回复于 2005-01-03 16:24:06 得分 0

谢谢,redex(cc):  
                    问题,解决了!   要把ejb的事务级别设置成   BEAN,而不是   container...马上个分,,,,Top

相关问题

  • 连接数据库操作失败
  • Hibernate操作BLOB(Oracle9i)问题
  • 每一次磁盘操作都要检查是否操作失败么?
  • backup 、restore ? 如何得知操作成功还是失败?
  • asp中如何处理数据库操作失败?
  • 一个操作系统[OS]调用失败 在线等。。
  • 我感觉hibernate设计失败的地方!
  • 临时表与数据库表联接(join)操作总失败,为什么?
  • 上次没解决再发贴问(MFC元数据操作失败)
  • 【如何同步两个操作,并在其中一个操作失败后回滚(RollBack)?】

关键词

  • hibernate
  • sessionbean
  • cfg
  • lis
  • ses
  • factory
  • commit
  • session
  • configure
  • exception

得分解答快速导航

  • 帖主:noscar
  • redex

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo