`

hibernate 的 save 或update 用一种ID对象

阅读更多

在save 前 如果new 的 User 与数据库里的id是一样的话,将会重些对象重新生成一个新的Id 生成一个新的对象

在update前 如果new的User 与数据库里的id是一样的话,新更新然的的数据,然的有数据将会全部丢失,如果有字段没有设置,它将为空傎,在数据库里面

 

 

public void testUpdateMehod() {
  Session session = null;
  
  try {
   session = HibernateUtils.getSession();
   session.beginTransaction();
   
   User user = new User();
   user.setId("4028819a204b86b201204b86b4740001");
   user.setName("yelang");
   user.setPassword("hello");
   
   //session.update(user);
   session.save(user);
   
   session.getTransaction().commit();
  }catch(Exception e) {
   session.getTransaction().rollback();
   e.printStackTrace();
  }finally {
   HibernateUtils.closeSession(session);
  }
 }

分享到:
评论

相关推荐

    hibernate 的saveOrUpdate

    `saveOrUpdate`是Hibernate提供的一种便捷方法,用于处理对象的保存或更新操作。在深入讲解`saveOrUpdate`之前,我们先理解一下Hibernate的基本概念。 在Hibernate中,实体类(Entity Class)代表数据库中的表,...

    Hibernate_级联关系说明_-_关于cascade和inverse的用法

    Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为Java应用提供了一种将对象模型映射到关系型数据库的方法。在实际开发过程中,为了简化数据持久化的处理逻辑,Hibernate引入了级联操作和控制权反转两个...

    Hibernate对象状态以及各种保存方法的区别

    以下是 Hibernate 中对象的三种状态以及相关的保存方法: 1. **瞬时对象(Transient Objects)** - 当使用 `new` 关键字创建一个对象时,它处于瞬时状态。这种状态的对象与数据库中的任何记录没有关联,只存在于...

    Hibernate中对象的三种状态

    要重新建立与数据库的联系,可以使用`merge()`或`update()`方法,但这需要提供对象的持久化标识。 4. 状态转换: 瞬时态到持久态的转换通常通过`save()`或`persist()`完成。持久态对象在Session关闭后会自动变为脱...

    Hibernate Session 4种对象状态.docx

    这时,Hibernate会给对象分配一个唯一的ID(通常是自增ID),并将对象的信息保存到缓存中。当Session执行flush操作时,会将缓存中的对象变更同步到数据库,发送对应的INSERT语句。例如,测试中的`session.save(news)...

    hibernate第一个hibernate

    - 创建(Create):使用`Session.save()`或`Session.persist()`方法将对象持久化到数据库。 - 读取(Read):`Session.get()`或`Session.load()`用于根据主键获取对象,而`Query`或`Criteria`接口则支持更复杂的...

    Hibernate 对象持久化

    Hibernate提供了一种面向对象的查询语言——HQL(Hibernate Query Language),类似于SQL,但它是面向对象的,可以直接操作实体类和其属性。此外,Hibernate还支持Criteria查询和Criteria API,提供了更灵活的查询...

    hibernate3 hibernate3

    Session提供了一种透明的方式来保存和检索对象,同时也负责事务管理。 5. Querying:Hibernate提供了HQL(Hibernate Query Language)和Criteria API,它们是面向对象的查询语言,可以方便地查询数据库。 二、...

    Hibernate 手册 第一章 Hibernate入门

    Hibernate 是一个开放源码的Java持久化框架,它为Java开发者提供了一种对象关系映射工具来管理Java应用中的关系数据。本章将带你逐步走进Hibernate的世界,了解其基本概念、安装配置以及如何在实际项目中运用。 1. ...

    Hibernate框架jia包

    Hibernate是一个开源的ORM框架,它提供了一种在Java应用中持久化数据到关系数据库的方式,通过将Java对象映射到数据库表,实现了对象和SQL的解耦,使得开发者可以更加专注于业务逻辑而不是繁琐的数据库操作。...

    hibernate 重点知识原创

    Session 是 Hibernate 中的工作单元,它提供了一种在内存中管理对象的机制,这就是一级缓存。当对象被加载到 Session 后,它们的状态会被缓存起来,直到 Session 被关闭。此外,Hibernate 还提供了二级缓存,它是一...

    hibernate-3.2源代码

    4. Criteria查询:提供了一种面向对象的方式来构建查询,比HQL更为灵活。 5. Query和Criteria API:提供了强大的查询能力,支持复杂的查询条件和结果集处理。 三、配置与初始化 Hibernate的配置文件(hibernate.cfg...

    hibernate保存blob,clob对象

    在Java中,Blob和Clob是JDBC API提供的接口,但在Hibernate中,我们可以通过Session对象的save()或saveOrUpdate()方法来操作这些大数据对象。 首先,我们需要在实体类中定义对应的属性。例如,对于一个包含图片信息...

    hibernate第一天笔记

    它支持CRUD操作,如`save()`用于添加数据,`update()`用于修改数据,`delete()`用于删除数据,而`get()`则根据ID获取对象。值得注意的是,`Session`是单线程的,不应该被多个线程共享,以避免并发问题。 在事务管理...

    hibernate学习资料大全

    Hibernate 提供了一种将Java对象模型与关系数据库之间的映射机制,使得开发者可以使用面向对象的方式来操作数据库,而无需关心底层SQL语句。理解ORM的概念是学习Hibernate的第一步。 2. **Hibernate配置**: 在...

    hibernate:java持久化对象详解02

    例如,使用`save()`或`saveOrUpdate()`方法可以将对象持久化到数据库,`get()`和`load()`用于根据ID获取对象,`update()`和`merge()`用于更新对象,`delete()`则用于删除对象。 事务管理是数据库操作中的关键部分。...

    Hibernate方法的实现

    - **删除(Delete)**:使用Session的delete()方法,根据传入的对象或ID删除对应的数据库记录。 - **加载(Load)**:通过Session的load()方法,根据ID加载对象。如果对象不存在,会抛出异常。 - **查询(Query)...

    05_传智播客hibernate教程_实体对象的三种状态与saveOrUpdate方法

    `saveOrUpdate`是Hibernate提供的一个便捷方法,它的主要作用是根据对象当前的状态来决定执行`save()`还是`update()`操作。具体来说: - 如果对象是瞬时状态,`saveOrUpdate`会调用`save()`,为对象生成一个新的...

    hibernate aip hibernate aip

    Hibernate AIP,全称为Hibernate Application Integration Process,是Java开发领域中使用Hibernate框架进行应用程序集成的一种实践过程。Hibernate作为一款强大的对象关系映射(ORM)工具,极大地简化了Java应用...

Global site tag (gtag.js) - Google Analytics