`

如何使用Hibernate的saveOrUpdate修改一个对象,而不用考虑这个对象的属性!

阅读更多

如题,我就是想写一个通用的方法,可以修改任何对象!注意我说的是修改任何对象!

而不去关心这个对象有什么属性!如果用户在页面修改了某属性,则更新这个属性;否则就不理这个属性,让它保持数据库里值.

比如修改一个对象有100个属性,假设修改88个属性,我们当然不希望在代码里一个属性一个属性地赋值;但如果我们直接用saveOrUpdate(pojo),则又会把其他11个属性改掉(这11个属性我不想动它们,让它保留数据库里值,另一个属性是id).这样的要求有办法实现吗?请大家指教

分享到:
评论
3 楼 DavyLee 2007-08-20  
引用
既然是修改,那么 这四个属性 应该是都有值的...

声明一下,我的jsp表单上只写需要修改的属性name和age两个文本框,即表单上只有这2个元素,别的属性不理会,也不放在隐藏的表单域里.然后就saveOrUpdate(user)
2 楼 DavyLee 2007-08-20  
这样理解是对的,但事实与阁下不吻合,事实是虽然你改了name和age,但saveOrUpdate(user)的结果是user的sex和remark被置空了!
1 楼 raykcn 2007-08-19  
我的理解是: 如user对象.. 里面有 name, sex, age, remark 属性.
既然是修改,那么 这四个属性 应该是都有值的...那么比如你在jsp页面中修改了 name, age, 那么你在saveOrUpdate(user)时,不会改动sex和remark属性.
不知道理解的对不对?

相关推荐

    Hibernate 对象的三种状态和特点

    此时,对象的实例与数据库中的记录对应,任何对持久对象属性的修改,只要在事务范围内,都会在事务提交时由Session自动更新到数据库中。如果需要从数据库加载特定对象,Hibernate会首先检查Session缓存,若未找到再...

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

    Hibernate 是一个流行的 Java 开发框架,用于简化数据库操作。它提供了对象关系映射(ORM)功能,使得开发者可以用面向对象的方式来处理数据库。在 Hibernate 中,对象的状态管理是至关重要的,因为它直接影响到对象...

    Hibernate中对象的三种状态

    在Java的持久化框架Hibernate中,对象的状态管理是其核心特性之一。理解并掌握对象的三种状态对于开发高效、稳定的数据库应用至关重要。本篇将详细阐述Hibernate中的瞬时态、持久态和脱管态,以及它们之间的转换。 ...

    hibernate入门--第一个实例

    - **更新(UPDATE)**: 修改对象属性后,调用`update()`方法。 - **删除(DELETE)**: 使用`delete()`方法删除对象,或`delete()`方法结合查询结果删除多条记录。 6. **事务管理** - Hibernate支持自动和手动事务...

    hibernate一对多项目

    - 在实体类中,我们需要定义一个集合类型的属性,比如`List<Order>`,表示一个用户可以有多个订单,使用`@OneToMany`注解标记这个属性。该注解接受一个`mappedBy`参数,指定多的一方在关联表中的外键字段。 - 在多...

    使用Hibernate的一个完整例子

    以上就是一个使用Hibernate进行数据库操作的完整例子。通过这个例子,我们可以看到Hibernate如何将Java对象和数据库表进行映射,以及如何执行CRUD操作,同时理解了配置、事务处理、关联和缓存等关键概念。在实际项目...

    一个很简单的hibernate例子

    在Java开发领域,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。本示例将深入解析一个基于Hibernate的简单应用,帮助开发者理解其基本概念和工作流程。 首先,我们需要...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    处于持久化状态的Java对象位于一个Session实例的缓存中,Session能根据这个对象的属性变化来同步更新数据库。 8.1 Java对象在JVM中的 生命周期 179 8.2 理解Session的缓存 181 8.2.1 Session的缓存的作用 182 ...

    Hibernate实体对象操纵

    当对象属性发生变化时,Hibernate会自动跟踪并更新数据库。 - **游离态(Detached)**:对象曾是持久态,但当前Session已经关闭,对象与数据库的连接断开。可以通过Session的merge()方法重新建立联系。 - **删除态...

    hibernate入门数据简单插入

    接着,创建一个实体对象并设置其属性,调用Session的`save()`或`saveOrUpdate()`方法保存对象到数据库。最后,提交事务(`Transaction.commit()`)以确保更改被永久保存。 6. **HQL(Hibernate Query Language)**:...

    hibernate的各种保存方式的区别以及hibernate对象的三种状态[定义].pdf

    这意味着对象与一个特定的Session绑定,并且任何对持久化对象属性的更改都会在Session提交时同步到数据库。通过Session的save()、get()或load()方法可以将对象设置为持久化状态。 - Detached(游离):持久化对象...

    hibernate的各种保存方式的区别

    这意味着该对象的数据会被持久化到数据库中,并且在这个`Session`内,Hibernate会跟踪这个对象的变化。 - **游离状态(Detached)**:当一个持久化的对象与`Session`断开连接后,它就变成了游离状态。可以通过`...

    Hibernate简单例子几个

    这个 `hibernateDemo` 压缩包可能包含了一个简单的 Hibernate 示例项目,你可以通过运行其中的代码来学习如何使用 Hibernate 进行多对一的关联操作。通过实际操作,你可以更深入地理解 Hibernate 的工作原理和使用...

    Hibernate说明

    Hibernate是Java领域中一款著名的开源对象关系映射(ORM)框架,它允许开发人员使用面向对象的编程方式来操作数据库,极大地简化了Java与数据库之间的交互。本篇将深入探讨Hibernate的核心概念、主要功能以及使用...

    hibernate入门一:单表操作(单对象操作)

    标题"hibernate入门一:单表操作(单对象操作)"表明这篇文章主要介绍的是Hibernate框架的基础使用,特别是针对数据库单表的简单操作,如增删改查,以及如何处理单个数据库对象。描述部分为空,但通常这样的教程会...

    hibernate查询之HQLhibernate查询之HQL

    Hibernate查询之HQL是ORM(对象关系映射)框架Hibernate中的一个重要组成部分,它是一种面向对象的查询语言,与SQL有着显著的区别。HQL允许开发者使用类名和属性而不是表名和列名进行查询,从而更好地适应面向对象的...

    Hibernate一对多双向自身关联demo代码

    在这个“Hibernate一对多双向自身关联demo代码”中,我们将深入理解如何实现一个实体类与其自身进行一对多的双向关联。这种关联在实际应用中常见于例如用户的朋友关系、员工的上下级关系等场景。 首先,让我们了解...

    Hibernate简单使用

    Hibernate是一款强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发人员能够更加专注于业务逻辑,而不需要关心底层的SQL语句编写。在本教程中,我们将深入探讨Hibernate的基本概念、配置以及如何...

    Hibernate三种状态

    在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,将对象与数据库之间的交互转化为对象与对象之间的操作。Hibernate对象有三种状态:瞬时状态(Transient)、持久状态(Persistent)和脱管...

Global site tag (gtag.js) - Google Analytics