`
kyvin
  • 浏览: 32807 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

改写泛型后 关于' 流已被关闭 '的问题

阅读更多
最近我想把原先的service改成泛型来学习学习 这是我改写后的代码
代码是 服务层 至于aware层 我就不贴出来了 每每执行action的时候 偶尔就会报出来一个这样的错误
流已关闭
public class EricService<T> extends HibernateDaoSupport implements EricAware<T>{

	public EricService(){
		super();
	}

	public Object load(Class classType, Serializable id)throws ServicesException {
       
		Object object = this.getHibernateTemplate().load(classType, id);
         return object;
    }
	public void insert(T t) throws ServicesException {
	   this.getHibernateTemplate().save(t);		
	}

	public void delete(T t) throws ServicesException {
	   this.getHibernateTemplate().delete(t);
		
	}

	public void update(T t) throws ServicesException {
	   this.getHibernateTemplate().update(t);
		
	}
	public List query(String fromClause) throws ServicesException {

		List list = this.getHibernateTemplate().find(fromClause);
		return list;
	}
	
}


这样做以后 的确让我少写了很多代码 在每个接口处都不需要实现这基本的方法了 可是最容易出现 流已被关闭 的问题 当我们有时执行一个action时 就有可能出现这个错误

15:04:49,437 ERROR [http-8562-Processor25] JDBCExceptionReporter:58 - 流已被关闭
15:04:49,468 ERROR [http-8562-Processor25] JDBCExceptionReporter:58 - 流已被关闭
15:04:49,515 ERROR [http-8562-Processor25] ServletDispatcher:281 - Could not execute action
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not load: [com.eric.object.news#503]; uncategorized SQLException for SQL []; SQL state [null]; error code [17027]; 流已被关闭; nested exception is java.sql.SQLException: 流已被关闭
java.sql.SQLException: 流已被关闭

不知道是否有人遇到过同样的问题 可以交流下吗 我现在尝试着如果解决不了 还是改回到原先的service
分享到:
评论
5 楼 kyvin 2007-04-11  
真心说声谢谢 我再找找错误看看
4 楼 rainlife 2007-04-11  
kyvin 写道
把我新发的求助贴给删除了 我现在没用了泛型 但是依旧会出现 流已关闭的错误 我自己考虑是不是每次当我 get的时候 因为我做了双向关联 是不是对这个有影响

有可能,比如说流已经关闭,但由于存在关联,延时加载关联对象的时候,发现流已经关闭了,于是报错。
3 楼 kyvin 2007-04-11  
把我新发的求助贴给删除了 我现在没用了泛型 但是依旧会出现 流已关闭的错误 我自己考虑是不是每次当我 get的时候 因为我做了双向关联 是不是对这个有影响
2 楼 kyvin 2007-04-09  
谢谢 数据库连接异常 但是出现这种情况其实很少 只是偶尔出现 所以证明数据库那边的连接应该没有问题吧 到时去看看那篇看看
1 楼 rainlife 2007-04-09  
看了您的异常信息,是出于数据库的连接异常,您将您的服务层代码帖上来,用处不是太大,对于使用范型的DAO支持,可以参看一下Hibernate网官上面的一篇文章:《<font size='2'>Generic Data Access Objects</font>》,地址如下:<br/>
http://www.hibernate.org/328.html<br/>
,演示了如何使用范型来设计我们的DAO类,

相关推荐

    C#泛型类、泛型方法、泛型接口、泛型委托的实例

    本文将深入探讨泛型类、泛型方法、泛型接口和泛型委托,并通过实例来阐述它们的应用。 首先,我们来看泛型类。泛型类是具有一个或多个类型参数的类。类型参数是在定义类时使用的占位符,实际的类型在创建类的实例时...

    关于java基础的泛型的练习

    - Java的泛型在编译后会被擦除,所有类型参数都会被替换为它们的边界或者Object。 - 这意味着在运行时,泛型类型信息不再存在,但是编译时的类型检查仍然有效。 5. 泛型和集合: - 集合框架如ArrayList、...

    泛型dao 泛型dao 泛型dao

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    关于java的泛型.doc

    关于Java的泛型,这是Java 5.0版本引入的一项重大特性,旨在提供类型安全的集合操作,并增强代码的重用性和灵活性。泛型允许程序员在设计类或接口时使用类型参数,使得类或接口可以处理任何数据类型,而不必为每种...

    JAVA-泛型课件-泛型课件

    在泛型出现之前,集合框架被视为弱类型集合(如`ArrayList`),因为它们可以持有任意类型的对象。引入泛型之后,集合框架变成了强类型集合。使用泛型声明的集合可以确保只能添加特定类型的对象,这样就在类型安全...

    泛型java的泛型知识,非常有用

    - 示例中,`TestGen0, String&gt;` 就是泛型类的具体实例,其中 `K` 被替换为 `String`,`V` 也被替换为 `String`。 2. **泛型通配符** - 泛型通配符 `?` 用于表示任意类型。例如,`List&lt;?&gt;` 表示未知类型的列表,...

    Java 泛型擦除后的三种补救方法

    然而,Java 的泛型在运行时是被擦除的,这意味着在运行时刻,所有的泛型类型信息都会丢失,无法直接用来创建对象或进行类型检查。这导致我们无法使用 `new T()` 或 `instanceof` 这样的操作。为了解决这个问题,我们...

    泛型学习和泛型接口和泛型经典示例

    泛型学习和泛型接口和泛型经典示例

    Java泛型类型擦除后的补偿

    本文将深入探讨Java泛型类型擦除的概念,并介绍在类型擦除后,为了保持泛型的安全性和便利性,Java设计者所采取的一些补偿机制。 1. **类型擦除**: - 在编译期间,所有的泛型类型信息都会被替换为它们的实际类型...

    java io流 xml 泛型 例子学习

    Java IO流、XML和泛型是Java编程中的关键概念,对于任何Java开发者来说,理解和熟练掌握这些技术至关重要。本文将深入探讨这三个主题,并通过具体的例子进行学习。 首先,我们来看Java IO流。IO流在Java中是用来...

    【Flutter】Dart 泛型 ( 泛型类 泛型方法 特定类型约束的泛型 ).zip

    【Flutter】Dart 泛型 ( 泛型类 | 泛型方法 | 特定类型约束的泛型 ) https://hanshuliang.blog.csdn.net/article/details/114059611 博客源码快照

    关于C#、java泛型的看法

    C#的泛型在类型检查和性能方面可能更胜一筹,而Java的泛型则在类型擦除和向后兼容性上有其独特之处。选择哪种语言的泛型取决于具体项目的需求和开发环境。了解并熟练掌握这两种语言的泛型特性,对于提升开发效率和...

    java 1.5泛型详解

    5. **类型擦除**:Java泛型在编译后会进行类型擦除,即在运行时,所有的泛型信息都会被移除,因此泛型并不提供运行时的类型检查。 **四、泛型与集合** Java集合框架是泛型应用最广泛的领域。例如,ArrayList、...

    java泛型指南 经典

    Java 泛型的一个重要特性是类型擦除,这意味着在编译之后,所有的泛型信息都会被擦除。因此,在运行时,所有泛型类型看起来都像是它们的基础类型。例如,`List&lt;Integer&gt;` 和 `List&lt;String&gt;` 在运行时都表现为 `List`...

    Jdk15泛型的实现

    直至JDK1.5,泛型技术终于被正式集成到Java的核心功能中,不仅编译器原生支持泛型,整个Java标准库也进行了重构以更好地兼容泛型。 #### 泛型的关键概念与实践 **参数化类型(Parameterized Types)** 参数化类型...

    java 一个关于泛型的简单例子

    泛型是Java编程语言中的一个重要特性,它引入于JDK 5.0,极大地提高了代码的类型安全性和可读性。泛型允许我们在类、接口和方法中使用类型参数,这样我们可以在编译时检查类型,避免了运行时类型转换的麻烦和潜在的...

    VC++ 2005:泛型编程

    编译时泛型类似于C++中的模板,通过编译时实例化来处理不同类型,而CLI泛型则在运行时进行实例化,这使得泛型类型的实例化延迟到JIT编译阶段,从而避免了可能的代码膨胀问题,并且提供了丰富的元数据用于反射。...

    泛型笔记学习2009

    泛型是Java语言的一个重要特性,它主要解决了在集合框架中频繁出现的类型转换问题,同时也增强了类型安全性。泛型的概念最早出现在Java 5.0版本中,它允许开发者创建能够以类型参数化的类、接口和方法。 #### 泛型...

Global site tag (gtag.js) - Google Analytics