public ExamQuestionEx getInitialed(Integer quesId) {
ExamQuestionEx q = new ExamQuestionEx();
String hql = "from ExamQuestionEx where id = ? ";
/*List<ExamQuestionEx> list = this.getHibernateTemplate().find(hql,quesId);
if(list!=null&&list.size()>0){
q = list.get(0);
}else{
return null;
}*/
q = (ExamQuestionEx) this.getSession().get(ExamQuestionEx.class, quesId);
if(!Hibernate.isInitialized(q.getAnswers())){
Hibernate.initialize(q.getAnswers());
}
if(!Hibernate.isInitialized(q.getOptions())){
Hibernate.initialize(q.getOptions());
}
return q;
}
用
List<ExamQuestionEx> list = this.getHibernateTemplate().find(hql,quesId);
if(list!=null&&list.size()>0){
q = list.get(0);
}else{
return null;
}
替换
q = (ExamQuestionEx) this.getSession().get(ExamQuestionEx.class, quesId);
会报错
org.hibernate.HibernateException: collection is not associated with any session
上述方法为dao层方法。
spring的配置为:
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="send*" propagation="REQUIRED"/>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="create*" propagation="REQUIRED"/>
<tx:method name="del*" propagation="REQUIRED"/>
<tx:method name="remove*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="search*" propagation="SUPPORTS" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="affectMethods" expression="execution(* com.buisoft.eit.service.impl.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="affectMethods"/>
</aop:config>
事务指向到service方法。
分享到:
相关推荐
**Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...
本文将深入探讨如何将Spring与Hibernate进行集成,并重点介绍声明式事务的配置与使用。 Spring框架是一个全面的企业级应用开发框架,它提供依赖注入(DI)和面向切面编程(AOP)等功能,简化了Java应用的复杂性。另...
接下来,我们会在`applicationContext.xml`中配置数据源,这是Spring与Hibernate集成的基础。数据源(`dataSource`)通常使用Apache Commons DBCP库,因为它提供了连接池功能,能有效管理数据库连接,提高性能。配置...
本"Spring与Hibernate集成授课代码"资源旨在教授如何将这两个框架整合在一起,实现高效的数据访问和业务逻辑处理。集成Spring和Hibernate能够帮助开发者充分利用两者的优点,比如Spring的事务管理与Hibernate的数据...
**Spring与Hibernate集成** 1. **配置**: 配置Spring的`LocalSessionFactoryBean`,指定Hibernate的相关属性,如配置文件、实体类包等,生成SessionFactory。 2. **依赖注入**: 将SessionFactory注入到需要的地方...
【Struts、Spring与Hibernate集成】是Java Web开发中常见的技术组合,用于构建高效、松耦合的MVC应用程序。这三大框架的集成使得开发者能够更好地管理数据访问、业务逻辑和用户界面,提高代码的可维护性和可测试性。...
当Spring与Hibernate集成时,Spring通过其`HibernateTemplate`或`HibernateSessionManager`等类来管理和协调Hibernate的`Session`。`Session`是Hibernate的核心概念,它是与数据库交互的主要接口,用于保存、更新和...
- Spring与Hibernate集成,通常使用Spring的HibernateTemplate或HibernateDaoSupport,提供事务管理和数据访问抽象,使得代码更简洁,事务控制更方便。 - Spring与Struts2集成,Spring可以作为Struts2的Action的...
**Spring与Hibernate集成** 集成Spring和Hibernate的关键在于如何在Spring中管理Hibernate的SessionFactory和Transaction。这通常通过以下步骤实现: 1. **配置Hibernate**: 创建Hibernate的配置文件(如hibernate...
当Spring与Hibernate集成时,Spring可以负责事务的管理,而Hibernate则专注于数据持久化。 在"声明式事务控制,spring2.5+hibernate3集成源码"中,开发者可以学习如何配置Spring的事务管理器,以及如何在Hibernate...
标题中的“spring-hibernate 4个版本”指的是四个不同阶段的Spring与Hibernate集成框架的版本。Spring是一个广泛使用的Java企业级应用开发框架,而Hibernate是一个流行的持久化框架,用于简化数据库操作。这两个库的...
**Spring与Hibernate集成详解** Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力,成为了Java企业级应用开发的事实标准。而Hibernate作为一款优秀的对象关系映射(ORM)工具,极大地简化了数据库操作...
### Struts2、Spring与Hibernate集成详解 #### 一、集成背景及意义 在现代Java Web开发中,Struts2、Spring与Hibernate是三个非常重要的框架。Struts2是一个MVC框架,主要用于处理用户请求并返回相应的视图;...
将Spring与Hibernate集成,可以充分利用两者的优点,实现高效且灵活的后端数据处理。 在"spring集成hibernate所需jar包"中,通常包含以下关键的库文件: 1. **Spring Framework**:这是Spring的核心组件,包括`...
《Spring与Hibernate集成详解》 在Java开发领域,Spring框架和Hibernate ORM工具是两个非常重要的组件,它们分别处理了应用程序的依赖注入(DI)和对象关系映射(ORM)。Spring作为一个全面的轻量级框架,提供了...
**Spring与Hibernate的集成** 常见的方式是使用Spring的HibernateTemplate或SessionFactoryBean,它们可以帮助我们管理SessionFactory和Session。Spring可以控制事务边界,实现事务的统一管理,确保数据的一致性。 ...
在Webwork+Spring+Hibernate集成中,Spring通常作为整体架构的胶水,负责各组件的连接和协调。它可以管理Webwork的Action,通过依赖注入提供所需的Service和DAO。同时,Spring可以配置Hibernate SessionFactory,...
通过其强大的模块化设计,Spring能够轻松地与其他技术栈进行集成,如本案例中的Hibernate。 - **Hibernate框架**:作为一个开放源码的对象关系映射(ORM)解决方案,Hibernate提供了从Java类到数据库表的映射,以及...