update时候出现如下错误
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session:
解决方法:
根据id得到缓存里的pojo对象,修改该对象,更新该对象
public void update(AppInfo appInfo){
AppInfo ai = getAIById(appInfo.getId());
ai.setAct(appInfo.getAct());
ai.setApp_name(appInfo.getApp_name());
ai.setApp_id(appInfo.getApp_id());
ai.setInstall_ram_range(appInfo.getInstall_ram_range());
ai.setPackage_name(appInfo.getPackage_name());
ai.setSwitch_ram_range(appInfo.getSwitch_ram_range());
Transaction ts = s.beginTransaction();
s.update(ai);
ts.commit();
}
分享到:
相关推荐
### Hibernate常见错误及解决办法 #### 一、Nodefaultconstructorforentity 错误 **问题描述**:在使用Hibernate执行查询语句时,系统抛出`Nodefaultconstructorforentity`错误。 **可能原因**:该错误通常是由于...
### Hibernate 错误解决方案 #### 一、概述 在使用Hibernate框架进行开发的过程中,经常会遇到各种各样的异常问题。这些问题可能会导致程序无法正常运行,甚至影响到系统的稳定性。本文将针对几个常见的Hibernate...
如果遇到错误,例如配置错误导致browse无法选择正确的项目目录,可能需要手动修改`.project`文件的natures部分,确保包含Hibernate的nature。 总的来说,Hibernate是Java开发中的重要工具,它通过ORM解决了数据库...
本篇将深入探讨如何在Hibernate中实现数据库操作而无需使用注解,以及如何解决在Hibernate 3中遇到的连接SQL的常见问题。 首先,让我们了解在Hibernate中免注解实现数据库操作的基本步骤: 1. **配置Hibernate**: ...
12. **最佳实践**:介绍在使用Hibernate时应遵循的最佳实践,以避免常见的陷阱和错误。 这份史上最全的Hibernate教程,旨在帮助新手快速入门并掌握Hibernate的核心概念和使用技巧,同时也为有经验的开发者提供了...
4. CRUD 操作:展示如何使用 Hibernate 进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据库记录。 5. HQL(Hibernate Query Language)和 Criteria 查询:介绍 Hibernate 自己的查询语言,...
在实际项目中,可以参照这些模拟,结合具体业务需求,灵活运用Hibernate提供的API,提高开发效率并减少错误。 **总结** Hibernate的实现原理主要涉及对象的持久化、数据库交互和事务管理等方面。通过模拟实现,...
总结,解决“Update queries only supported through HQL”的关键在于理解和掌握Hibernate的HQL更新查询,以及充分利用其面向对象的特性。通过使用Hibernate 3.2.5版,开发者能够更加高效、安全地进行数据操作,提高...
实践中可能会遇到各种问题,例如配置错误、空指针异常、数据转换异常等,解决这些问题需要熟悉Java、Servlet、JSP和数据库原理。同时,学习使用日志工具(如Log4j)、调试技巧也有助于提高开发效率。 总的来说,...
### 错误四:`org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update` **错误现象**: 在执行数据库批量操作时,Hibernate抛出`SQLGrammarException`,表明SQL语法错误或数据库不支持...
Hibernate的核心在于提供对象-关系映射(ORM)服务,使得开发者能够以面向对象的方式来管理和操作数据库中的数据,从而减少了直接使用JDBC进行数据操作时的复杂性和错误。 为什么需要Hibernate? 在传统的JDBC编程中...
- 错误排查:当遇到问题时,源码分析能更准确地定位问题所在,提高解决问题的效率。 - 自定义扩展:熟悉源码后,我们可以根据需求自定义拦截器、事件监听器等,实现特定功能。 总结来说,Hibernate源码解析是一个...
Hibernate 是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,将数据库表与Java对象对应,通过编写简单的Java代码就能实现对数据库的CRUD(Create、Read、Update、Delete)操作。Hibernate支持HQL...
Hibernate是一个流行的数据持久化解决方案,它通过提供数据访问层,将Java对象与关系数据库之间的转换工作自动化,避免了大量SQL代码的编写。在Hibernate中,每个Java类对应一个数据库表,类的实例对应表中的记录,...
如果想让Hibernate自动创建或更新数据库结构,包括索引,我们需要将这个属性设置为"create"、"create-drop"或者"update"。 但是,即使设置了正确的`hibernate.hbm2ddl.auto`,依然可能出现不自动创建索引的情况。这...
Hibernate是一款强大的Java持久化框架,它为Java开发者提供了一种对象关系映射(ORM)解决方案,使得在Java应用中管理数据库变得更加便捷。本中文文档旨在详细介绍Hibernate的核心概念、配置、使用方法以及最佳实践。 ...
7. 异常处理:分析Hibernate中常见的异常类型,指导如何进行有效的错误定位和解决。 8. 关联映射:探讨一对多、多对一、多对多等各种关联关系的映射配置,以及级联操作和懒加载策略。 9. 性能优化:包括缓存机制...
当出现错误时,Hibernate 3.3 提供了更易于理解的错误信息,帮助开发者更快地定位和解决问题。 6. **支持JPA 2.0**: Hibernate 3.3 开始支持Java Persistence API(JPA)2.0规范,这使得开发者可以利用JPA提供的...