最近我想把原先的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
分享到:
相关推荐
本文将深入探讨泛型类、泛型方法、泛型接口和泛型委托,并通过实例来阐述它们的应用。 首先,我们来看泛型类。泛型类是具有一个或多个类型参数的类。类型参数是在定义类时使用的占位符,实际的类型在创建类的实例时...
- Java的泛型在编译后会被擦除,所有类型参数都会被替换为它们的边界或者Object。 - 这意味着在运行时,泛型类型信息不再存在,但是编译时的类型检查仍然有效。 5. 泛型和集合: - 集合框架如ArrayList、...
Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...
关于Java的泛型,这是Java 5.0版本引入的一项重大特性,旨在提供类型安全的集合操作,并增强代码的重用性和灵活性。泛型允许程序员在设计类或接口时使用类型参数,使得类或接口可以处理任何数据类型,而不必为每种...
在泛型出现之前,集合框架被视为弱类型集合(如`ArrayList`),因为它们可以持有任意类型的对象。引入泛型之后,集合框架变成了强类型集合。使用泛型声明的集合可以确保只能添加特定类型的对象,这样就在类型安全...
- 示例中,`TestGen0, String>` 就是泛型类的具体实例,其中 `K` 被替换为 `String`,`V` 也被替换为 `String`。 2. **泛型通配符** - 泛型通配符 `?` 用于表示任意类型。例如,`List<?>` 表示未知类型的列表,...
然而,Java 的泛型在运行时是被擦除的,这意味着在运行时刻,所有的泛型类型信息都会丢失,无法直接用来创建对象或进行类型检查。这导致我们无法使用 `new T()` 或 `instanceof` 这样的操作。为了解决这个问题,我们...
泛型学习和泛型接口和泛型经典示例
本文将深入探讨Java泛型类型擦除的概念,并介绍在类型擦除后,为了保持泛型的安全性和便利性,Java设计者所采取的一些补偿机制。 1. **类型擦除**: - 在编译期间,所有的泛型类型信息都会被替换为它们的实际类型...
Java IO流、XML和泛型是Java编程中的关键概念,对于任何Java开发者来说,理解和熟练掌握这些技术至关重要。本文将深入探讨这三个主题,并通过具体的例子进行学习。 首先,我们来看Java IO流。IO流在Java中是用来...
【Flutter】Dart 泛型 ( 泛型类 | 泛型方法 | 特定类型约束的泛型 ) https://hanshuliang.blog.csdn.net/article/details/114059611 博客源码快照
C#的泛型在类型检查和性能方面可能更胜一筹,而Java的泛型则在类型擦除和向后兼容性上有其独特之处。选择哪种语言的泛型取决于具体项目的需求和开发环境。了解并熟练掌握这两种语言的泛型特性,对于提升开发效率和...
5. **类型擦除**:Java泛型在编译后会进行类型擦除,即在运行时,所有的泛型信息都会被移除,因此泛型并不提供运行时的类型检查。 **四、泛型与集合** Java集合框架是泛型应用最广泛的领域。例如,ArrayList、...
Java 泛型的一个重要特性是类型擦除,这意味着在编译之后,所有的泛型信息都会被擦除。因此,在运行时,所有泛型类型看起来都像是它们的基础类型。例如,`List<Integer>` 和 `List<String>` 在运行时都表现为 `List`...
直至JDK1.5,泛型技术终于被正式集成到Java的核心功能中,不仅编译器原生支持泛型,整个Java标准库也进行了重构以更好地兼容泛型。 #### 泛型的关键概念与实践 **参数化类型(Parameterized Types)** 参数化类型...
泛型是Java编程语言中的一个重要特性,它引入于JDK 5.0,极大地提高了代码的类型安全性和可读性。泛型允许我们在类、接口和方法中使用类型参数,这样我们可以在编译时检查类型,避免了运行时类型转换的麻烦和潜在的...
编译时泛型类似于C++中的模板,通过编译时实例化来处理不同类型,而CLI泛型则在运行时进行实例化,这使得泛型类型的实例化延迟到JIT编译阶段,从而避免了可能的代码膨胀问题,并且提供了丰富的元数据用于反射。...
泛型是Java语言的一个重要特性,它主要解决了在集合框架中频繁出现的类型转换问题,同时也增强了类型安全性。泛型的概念最早出现在Java 5.0版本中,它允许开发者创建能够以类型参数化的类、接口和方法。 #### 泛型...