`
saint13
  • 浏览: 39903 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Hibernate Synchronizer 3.1.9的问题吗?

阅读更多

发现在使用hibernate synchronizer 3.1.9自动生成的DAO中的方法时,报出"session is closed."异常

比如使用findByName()方法时,

查看了一下生成的代码,发现

 public java.util.List<mapping.User> findByName (java.lang.String name) {
  return findFiltered ("Name", name).list();
 }

而这最终调用的_BaseRootDAO中的如下方法:

 protected Criteria findFiltered (String propName, Object filter, Order order) {
  Session s = null;
  try {
   s = getSession();
   return findFiltered(s, propName, filter, order);
  }
  finally {
   closeSession(s);
  }
 }

(注意在finally中关闭了session)
 当调用这个方法生成的Criteria的list()方法时,list()方法中有一段代码检查到session 是关闭的,就抛出了上面的一场了。

 public List list() throws HibernateException {
  before();
  try {
   return session.list( this );
  }
  finally {
   after();
  }
 }

Session中的list()方法:

public List list(CriteriaImpl criteria) throws HibernateException {
  errorIfClosed();
  checkTransactionSynchStatus();
  String[] implementors = factory.getImplementors( criteria.getEntityOrClassName() );
  int size = implementors.length;
。。。。。。

其中errorIfClosed():

protected void errorIfClosed() {
  if ( closed ) {
   throw new SessionException( "Session is closed!" );
  }
 }

暂时的解决方法是把上面的finally中关闭session的代码去掉。则程序运行正常。

本人初学Hibernate,请大家多多致电,谢谢!



分享到:
评论
1 楼 gs.liutong 2008-03-18  
我也碰到同样的问题啊,去掉 closeSession(s);不是一个好的办法。可以自己打开,关闭Session,调用protected Criteria findFiltered (Session s, String propName, Object filter, Order order)这个方法,在.list()后关闭就没有问题,不知道还有没有其他好的办法,有的话告诉我一下,gs.liutong@gmail.com

相关推荐

    hibernatesynchronizer_3.1.9

    1. 下载:获取名为"hibernatesynchronizer_3.1.9"的压缩包文件。 2. 解压:将压缩包解压,获取到"com.hudson.hibernatesynchronizer_3.1.9"文件夹。 3. 安装:打开Eclipse,进入“Help” -&gt; "Install New Software...

    HibernateSynchronizer-3.1.9

    《HibernateSynchronizer 3.1.9:数据库与对象模型同步的利器》 HibernateSynchronizer是一款基于Java的开源工具,专为开发者设计,用于实现数据库与对象模型的自动同步。这个工具的核心功能在于帮助开发者高效地...

    HibernateSynchronizer(2.3.1 & 3.1.9)

    本篇将详细介绍HibernateSynchronizer的两个主要版本——2.3.1和3.1.9,并探讨其核心功能及应用场景。 一、HibernateSynchronizer简介 HibernateSynchronizer是开发者Hudson创建的一款工具,它的核心目标是帮助...

    hibernatesynchronizer_3.1.9 for JDK1.4

    【hibernatesynchronizer_3.1.9 for JDK1.4】是一个针对JDK1.4版本的Hibernate同步工具,主要用于在多线程环境下确保数据的一致性和完整性。Hibernate是一个非常流行的Java对象关系映射(ORM)框架,它允许开发者...

    HibernateSynchronizer-3.1.9.rar

    HibernateSynchronizer hibernate配置文件生成工具

    hibernateSynchronizer与spring集成

    在整合Hibernate Synchronizer与Spring框架的过程中,我们主要关注的是如何让这两个强大的工具协同工作,以实现高效的数据持久化管理。Hibernate Synchronizer是一个用于自动更新Hibernate映射文件(.hbm.xml)的...

    hibernate synchronizer

    然而,手动编写和维护Hibernate的映射文件(.hbm.xml)是一项繁琐的任务,而Hibernate Synchronizer正是为了解决这一问题而诞生。 1.2 功能特性 - 自动创建:根据数据库表结构自动生成对应的Hibernate映射文件。 - ...

    hibernate学习总结

    本文主要介绍了如何在Eclipse3.2环境下使用HibernateSynchronizer-3.1.9、Oracle92和hibernate-3.2.4.sp1来搭建一个简单的Hibernate开发环境,并通过实例演示了基本的CRUD(创建、读取、更新、删除)操作。...

    hibernate3 一些有用的资料

    最后,"HibernateSynchronizer-3.1.9"是一个特定版本的HibernateSynchronizer工具,它可能是用于在Hibernate和数据库之间进行同步的工具,便于数据库的更新和管理。 **Hibernate3知识点** Hibernate3是一个流行的...

    配置Hibernate文件集.rar

    配置Hibernate文件集.rar apache-ant-1.7.1-bin.zip HibernateSynchronizer-3.1.9.zip Middlegen-Hibernate-r5.zip Hibernate_DEV_GUIDE.pdf

    IPScan

    然而,我们注意到在提供的文件列表中出现了"HibernateSynchronizer-3.1.9"这个标签。Hibernate Synchronizer是一款与IPScan不同的工具,主要用于Java开发环境,它可以帮助开发者在Hibernate ORM框架下同步数据库和...

    plugins插件2

    4. **Hibernate Synchronizer 3.1.9**: Hibernate Synchronizer是一款专为Eclipse设计的插件,目的是自动同步数据库和Hibernate实体类之间的变化。当数据库表结构发生变化时,该插件能够自动更新对应的Java实体类...

    hibernate eclipse插件生成dao样例

    “com.hudson.hibernatesynchronizer_3.1.9.rar”可能是Hibernate Synchronizer插件的一个版本,它可以帮助同步数据库和Hibernate实体;“陈蕾生成的dao.rar”可能是一个个人分享的DAO生成样例;“localnzgame”可能...

    struts spring hibernate整合实践

    ### Struts Spring Hibernate 整合...推荐使用Hibernate Synchronizer Eclipse Plugin来简化开发工作,其下载地址为[http://nchc.dl.sourceforge.net/sourceforge/hibernatesynch/HibernateSynchronizer-3.1.9.zip]...

    Struts Spring Hibernate整合

    8. **Hibernate Synchronizer Eclipse Plugin**: 一个辅助Hibernate开发的插件,可以在[这里](http://nchc.dl.sourceforge.net/sourceforge/hibernatesynch/HibernateSynchronizer-3.1.9.zip)下载。 9. **MySQL**: ...

Global site tag (gtag.js) - Google Analytics