`
foxxiao
  • 浏览: 107296 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate 的detached entity passed to persist的解決方法

阅读更多


关于PersistentObjectException: detached entity passed to persist的解決方法

在Model 的 setid()中判断id是否为 ""(空字符串,可能由页面传过来为空)
    public void setId(String id) {
    if(!StringUtils.isNotEmpty(id))
    {
    id=null;
    }
        this.id = id;
    }
分享到:
评论

相关推荐

    Hibernate save persist merge探究

    本文将深入探讨Hibernate中的save、persist和merge这三个方法,帮助开发者更好地理解它们的用法和内在机制。 一、save()方法 save()是Hibernate早期版本中最常用的方法,用于将对象持久化到数据库中。当调用Session...

    HIbernate免注解实现操作数据库 及Hibernate3连接SQL的BUG解决办法

    4. **实体状态异常**: Hibernate在操作实体时会根据其生命周期状态进行处理,如果出现“ detached entity passed to persist”之类的错误,可能是因为实体状态管理不当。确保在操作实体前正确处理其状态(如merge、...

    hibernate aip hibernate aip

    9. **错误处理和日志记录**:理解Hibernate常见的错误和异常,如 detached entity passed to persist 等,并配置合适的日志系统,如Log4j或SLF4J,以便追踪应用运行状态。 总的来说,Hibernate AIP涵盖了从项目初始...

    Hibernate中get和load方法的区别以及close(),clear()、evict()等的区别

    在Hibernate框架中,Session是与数据库交互的主要接口,它提供了多种方法来操作对象的状态和数据。本文主要讨论了`get`、`load`方法以及`flush`、`clear`、`evict`等方法的区别。 首先,让我们关注`get`和`load`的...

    JPA 开发中遇到的错误

    javax.persistence.PersistenceException: detached entity passed to persist 当你尝试保存一个已经与JPA上下文断开连接(即处于“游离”状态)的实体时,会抛出此异常。在JPA中,只有处于托管状态的实体才能被...

    SSH项目整合示例【源码】

    它确保在用户请求的整个生命周期内,Hibernate的Session保持打开状态,从而避免了“懒加载”时可能出现的“Detached entity passed to persist”错误。在Spring中,通过开启`<tx:annotation-driven>`和配置`...

    Hibernate框架jia包

    Hibernate通过`<class>`标签(XML映射)或@Entity注解(注解映射)定义实体类,`<id>`表示主键,`<property>`或@Basic对应字段,`<many-to-one>`或@ManyToOne处理一对多关系,`<one-to-many>`或@OneToMany处理多对...

    hibernate-entitymanager-3.4.0.GA

    【标题】"hibernate-entitymanager-3.4.0.GA" 是一个与Java持久化框架Hibernate Entity Manager相关的库,这个版本号表明它是2009年左右发布的一个稳定版本。Hibernate Entity Manager是JPA(Java Persistence API)...

    hibernate对象三状态及OneToOne&OneToMany&ManyToMany

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本篇将详细阐述Hibernate中的对象三状态、一对一(OneToOne)、一对多...

    Hibernate手册中文版

    - Hibernate识别四种实体状态:瞬时(Transient)、持久化(Persistent)、脱管(Detached)和游离(Detached)。 - 理解这些状态有助于正确处理对象的生命周期。 《Hibernate技术手册中文版.chm》将详细讲解以上...

    hibernate的各种保存方式的区别

    - **persist** 方法与`save`方法类似,都是用于将瞬态对象变为持久化状态。但是,`persist`有一个重要的特性,即它不保证会立即执行SQL INSERT语句。在某些情况下,如事务外部调用`persist`时,它可能不会立即执行...

    ORM hibernate。jar包

    8. **实体生命周期**:包括瞬态、持久化、托管和游离状态的转换,例如,通过Session的save()、saveOrUpdate()、persist()方法可以使对象进入持久化状态,update()和merge()方法用于更新已存在的实体。 9. **事件...

    hibernate_reference.pdf

    - **Loading and Storing Objects**: Finally, you'll learn how to load objects from the database into Java instances and persist new or updated Java objects back to the database. #### Mapping ...

    hibernate讲义

    - Hibernate 是 JBoss 组织的一个项目,最初由 Gavin King 创建,目前是 Java 社区中最流行的 ORM 解决方案。 - ORM 将对象模型与关系型数据库模型进行桥接,简化了数据访问和处理过程。 - Hibernate 提供了对...

    hibernate3.2_src官方源码

    8. **实体生命周期**:源码中展示了Hibernate如何处理对象的生命周期,包括瞬态(Transient)、持久化(Persistent)、脱管(Detached)和游离(Detached)状态。 9. **多态和继承**:Hibernate支持类继承关系下的...

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

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

    精通hibernate源码ch4

    1. 保存(Save/Insert):Hibernate提供Session的save()或persist()方法将对象插入数据库。save()方法适用于临时对象,会立即生成ID;而persist()方法则适用于关联对象,可能延迟到事务提交时才生成ID。 2. 更新...

    Hibernate学习.pdf

    - **修改脱管(DETACHED)对象**: 需要重新加载或使用Session的persist方法将其变为持久状态。 - **自动状态检测**: Hibernate能够自动检测对象的状态变化。 - **删除持久对象**: 使用Session的delete方法删除对象。 ...

    hibernate各种常用方法的详解

    ### Hibernate 常用方法详解 #### 一、前言 Hibernate 是一款强大的对象关系映射(ORM)框架,它简化了 Java 应用程序与数据库之间的交互过程。本文将详细介绍 Hibernate 中常用的几种方法,包括 `save`, `update`...

Global site tag (gtag.js) - Google Analytics