各位大神,请教一个关于hibernate修改数据的问题,看代码
public void addUser(){
System.out.println("begin.......");
Session session = null;
Transaction transaction = null;
session = SessionFactoryUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
System.out.println("开始修改用户信息");
User u = (User)session.get(User.class, 2);
u.setUsername("ddTest");
session.saveOrUpdate(u);
System.out.println("修改用户信息成功。。。。");
transaction.commit();
session.close();
System.out.println("end.......");
}
这样可以把一个ID为2的用户数据name改为ddTest,没有什么疑问。再看
public void addUser(){
System.out.println("begin.......");
Session session = null;
Transaction transaction = null;
session = SessionFactoryUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
System.out.println("开始修改用户信息");
User u = (User)session.get(User.class, 2);
u.setUsername("ddTest");
//session.saveOrUpdate(u);
System.out.println("修改用户信息成功。。。。");
transaction.commit();
session.close();
System.out.println("end.......");
}
这样,不用saveOrUpdate,数据一样被成功修改。这是为什么呢?是事务在提交时把一级缓存里的对像flush到数据库了吗?那如果这样的话要saveOrUpdate之类的方法还有什么用呢?求高手大神解惑,小弟在此感谢。
相关推荐
"spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...
这个文件可能包含了关于Hibernate入门的初步讲解,包括基本概念、环境配置、简单数据插入的示例代码等。 **总结** Hibernate作为Java的ORM框架,简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层...
在这个项目中,我们有两个主要的数据访问技术:Hibernate和MyBatis,它们都是Java领域中广泛使用的ORM(对象关系映射)工具。 **Hibernate** 是一个强大的ORM框架,它允许开发者通过Java对象来操作数据库,而无需...
以下是一些关于如何在Hibernate环境下优化批量数据处理的策略。 首先,了解问题的根源。在上述例子中,当尝试向数据库插入100,000条数据时,由于默认情况下Hibernate会将所有持久化对象保留在一级缓存中,随着数据...
【标题】"Hibernate 显示数据库数据" 在Java开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以用Java对象来操作数据库记录。本教程针对初学者,将介绍如何使用...
关于Hibernate的更多高级特性,例如二级缓存、拦截器和事件监听机制等,可以在学习Hibernate的官方文档或相关书籍中深入了解。通过上述步骤的详细讲解,希望读者能够掌握Hibernate数据源的配置方法,并成功应用于...
在SSH CRM项目中,Hibernate作为持久层框架,用于管理和操作数据字典,是数据库与Java对象之间的一个桥梁。本节将深入探讨SSH CRM项目中Hibernate如何实现数据字典的高效、便捷操作。SSH架构是由Spring、Struts和...
### 基于Hibernate的数据持久层关键技术的研究 #### 一、引言 随着软件开发的不断进步和技术的发展,越来越多的企业级应用需要高效地管理和访问大量数据。为了更好地满足这一需求,许多开发团队选择了使用ORM...
接着,描述中的"Spring+Hibernate多数据源的整合实现demo"意味着这是一个实际操作的示例,它可能包含了一个或多个配置文件和Java代码,展示了如何在Spring Boot或者传统的Spring环境下配置和使用多数据源。...
本示例主要介绍如何实现Spring Boot 2.0多数据源的集成,并结合Hibernate进行配置,特别是在DAO层使用`HibernateDaoSupport`进行操作,而非使用JPA(Java Persistence API)。 首先,让我们了解Spring Boot 2.0的...
Hibernate 中大量数据的更新 Hibernate 是一个流行的基于 Java 的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在将大量数据插入到数据库时,Hibernate 经常会出现性能和...
**Hibernate 数据持久化详解** Hibernate 是一款开源的Java语言下的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据,而无需过多关注底层的SQL语句。本篇文章将...
关于Hibernate的基本数据类型与Java中基本数据类型的映射关系
Hibernate是Java领域中最流行的ORM框架之一,它通过元数据来定义对象和数据库表之间的映射关系,使得Java对象可以直接被存储和检索,而无需编写大量的SQL语句。 在ORM中,POJO(Plain Old Java Object)是一个简单...
### Hibernate配置数据源详解 #### 一、引言 在软件开发过程中,特别是涉及大量数据库交互的应用场景下,选择合适的数据源配置对于提高系统性能、稳定性具有重要意义。Hibernate作为Java领域内广泛使用的对象关系...
Hibernate基本数据操作方法 java struts hibernate
在上面的配置中,我们使用 DynamicDataSource 作为 Hibernate 的数据源, Hibernate 将根据当前的数据库连接信息选择对应的数据源。 使用 Spring 框架和 Hibernate,我们可以轻松地配置多数据库连接信息,并自由...
以上就是关于“Hibernate插入数据”的核心知识点,希望对你在学习过程中有所帮助。在共享和交流知识的过程中,我们可以共同进步,不断提升IT技能。同时,为了保护个人作品,使用水印是一种有效的手段,但也要确保不...
当外部系统或进程直接修改了数据库中的数据,而未通过Hibernate进行同步时,Hibernate的一级或二级缓存中存储的数据可能会变为陈旧数据。这会导致应用在后续操作中读取到过时的信息,从而引发数据同步问题。 #### ...
关于工具的使用,Hibernate提供了hibernate.cfg.xml配置文件或基于Java的配置方式来设置数据库连接参数、实体类扫描路径等。同时,它还提供了SessionFactory、Session、Transaction等接口,供开发者进行数据库操作。...