废话不多说看看我的方法
try {
Session session = this.getHibernateSession();
//Transaction tx = null;
Query queryObject = null;
String sql=null;
//tx=session.beginTransaction();
sql = "update tco_sta_info_service set protocol_version=?,service_name=?,data=?,is_can_mo_del=?,is_service_open=?,fee_type=?,fee_code=?,service_brief_cmd=?,service_brief=?,patch_id=?,sp_code=?,min_size=?,card_fun_type=?,CREATION_DATE=sysdate where id=?";
queryObject = session.createSQLQuery(sql);
queryObject.setString(0, srvInfo.getProtocolVersion()).setString(1, srvInfo.getServiceName())
.setString(2, srvInfo.getData()).setString(3, srvInfo.getIsCanMoDel())
.setString(4, srvInfo.getIsServiceOpen()).setString(5, srvInfo.getFeeType())
.setInteger(6, srvInfo.getFeeCode()).setString(7, srvInfo.getSrvBriefCmd())
.setString(8, srvInfo.getSrvBrief()).setString(9, srvInfo.getPatchId())
.setString(10, srvInfo.getSpCode()).setString(11, srvInfo.getMinSize())
.setString(12, srvInfo.getCardFunType()).setInteger(13, srvInfo.getId());
queryObject.executeUpdate();
try {
session.connection().commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//session.getTransaction().commit();
session.flush();
return 1;
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return 0;
}
实现说明 --我这里的session 是通过spring 注入的 用hibernate 去执行 sql 了,自己在程序代码中写一套提交 事务,有报了异常 ,但是我又没写这个对象的映射文件,但又要提交事务,所以我用了 session.connection().commit();
通过jdbc的连接对象关闭,不用transaction 这个hiberante 搞出的对象提交事务,就OK 了!
分享到:
相关推荐
- **事务管理问题**:如果事务配置不正确,可能导致事务无法正常提交或回滚,检查Spring的`@Transactional`注解和事务管理配置。 - **数据源冲突**:两个框架可能都试图连接同一数据库,确保只有一个数据源配置...
标题“spring与hibernate的包冲突”所涉及的问题,通常出现在同时引入这两个框架时,由于它们可能使用了相同或相似的库,从而导致类加载冲突或者版本不兼容的问题。解决这类冲突通常需要对项目构建配置(如Maven或...
右键点击项目,选择"MyEclipse" -> "Add Spring Capabilities",然后选择所需的Spring库,注意处理与Hibernate的jar包冲突问题,可能需要删除冲突的jar,例如"asm-2.2.3.jar"。推荐将所有依赖的jar包复制到`webRoot/...
在实际项目中,Spring 通常用于管理 Hibernate 的 SessionFactory,提供事务管理,并通过 AOP 实现数据访问层的通用方法,如开启和提交事务、处理异常等。 从文件名称 "Spring3.2.5Hibernate4.0.1Integration" 来看...
Struts、Spring和Hibernate是Java Web开发中的三大主流框架,它们分别负责表现层、业务层和服务层的管理。Struts提供了MVC模式的实现,Spring则是一个全面的轻量级应用框架,包括依赖注入(DI)、面向切面编程(AOP...
总结起来,"spring-Hibernate整合代码测试过程"涉及了Spring框架的依赖注入、事务管理、以及与Hibernate的整合,同时也涵盖了Hibernate的实体映射、DAO设计和事务控制。通过这个过程,我们可以构建出一个高效、健壮...
6. 测试和调试:确保所有组件协同工作,处理可能出现的依赖冲突和配置问题。 这种集成方式的优点在于: - 分离关注点:每个框架专注于其核心功能,使得代码结构清晰,易于维护。 - 事务管理:Spring的事务管理支持...
在整合Struts2、Spring和Hibernate时,我们通常会遇到一些包冲突的问题,尤其是在使用IDE如MyEclipse时。这可能是由于不同库版本之间的不兼容性,或者是重复引入了相同的类导致的。解决这些问题通常需要仔细检查项目...
Spring作为中间层,提供服务管理、事务管理和AOP等功能。Hibernate则负责将Java对象与数据库表进行映射,实现数据的CRUD(创建、读取、更新、删除)操作。SSH框架的组合,能够帮助开发者快速构建功能完善的Web应用。...
Spring的Hibernate支持可以自动管理Session和事务,但在某些特定情况下,如需要自定义SQL查询或Criteria查询,我们需要扩展Spring的功能。为此,定义了一个IBase接口和BaseDao实现类,模仿HibernateTemplate的功能,...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:Struts2处理MVC模式中的视图和控制,Spring提供依赖注入和事务管理,而Hibernate则作为ORM(对象关系映射)工具,负责...
通过这样的集成,我们可以享受到Spring的灵活管理和事务控制,Hibernate的高效持久化,以及XFire的便捷Web服务发布。这样的组合使得开发高质量、可维护的企业级应用变得更加容易。然而,需要注意的是,集成过程中...
例如,Spring可以用来配置事务管理,提供数据源,甚至使用Spring的AOP来处理异常和日志。在SSH集成项目中,开发者需要配置相关的Spring配置文件,定义数据源、SessionFactory、Action beans等。 5. **依赖管理**: ...
- **Spring 2.5**:作为依赖注入和面向切面编程的框架,Spring管理了应用的组件,包括事务处理和安全控制。 - **Struts 1.3**:作为MVC框架,Struts负责处理HTTP请求,展现页面,并与业务层交互。 - **Hibernate ...
声明式事务管理则依赖于Spring等框架,通过@Transactional注解来配置事务边界。 接着,我们讨论并发控制。在多用户环境下,同时访问同一数据可能会引发并发问题,如脏读、不可重复读和幻读。Hibernate提供了一些...
"Struts+Spring+Hibernate 学籍管理系统"是一款基于经典的SSH(Struts、Spring、Hibernate)框架构建的应用程序,主要用于高校或教育机构的学籍管理。这个系统将帮助管理员高效地进行学生信息管理、课程选课等核心...
Spring作为整体架构的中心,管理依赖和事务;Hibernate负责数据持久化;Struts处理用户交互和页面跳转;而Maven则保证了项目构建的顺畅。这样的组合不仅提高了开发效率,还使得代码结构清晰,易于维护和扩展。在`...
整合Hibernate与Spring,可以通过`hibernate.cfg.xml`和Spring的配置文件,实现SessionFactory的创建和事务管理,从而在业务逻辑中透明地操作数据库。 ### Oracle Database Oracle数据库是一个大型的关系型数据库...
值得注意的是,在Spring与Hibernate的共同使用中,可能会遇到`asm.jar`版本冲突的问题。为了解决这个问题,通常需要移除Spring自带的`asm-2.2.3.jar`,保留Hibernate所依赖的`asm.jar`版本,以避免运行时错误。 ###...