`
hustguojiecheng
  • 浏览: 890 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Session的delete方法

阅读更多
#
# // 假定customer是一个游离对象,先使它被Session关联,使它变为持久化对象, 

# // 然后计划执行一个delete语句 

# session2.delete(customer); 

# tx2.commit(); // 清理缓存,执行delete语句 

# session2.close(); // 从缓存中删除customer对象


这是精通Hibernate一书中 的一段代码,对应着它提到几遍的话:
值得注意的是,Session只有在清理缓存的时候的才执行delete语句。——————这句很OK
此外,只有当调用Session的close()方法时,才会从Session的缓存中删除该对象。——————这句作何解?

后者作何解?有啥用?
如果按照上述所说,那岂不是commit之后session.close()之前
我再load这个已经提交数据库的删除了的obj 还可以load到?这个不是有点荒唐么?
分享到:
评论

相关推荐

    hibernat-session方法

    hibernate-session方法是Hibernate框架中与数据持久化密切相关的一系列操作,主要涉及对象/关系映射中的数据管理。在Hibernate中,Session是与数据库交互的主要接口,它扮演着连接ORM(Object-Relational Mapping)...

    hibernate session详细方法,值得珍藏

    本文将深入探讨Hibernate Session的详细方法及其应用场景,旨在为开发者提供一份全面、实用的指南。 #### 一、Session 的生命周期与事务管理 Hibernate Session的生命周期通常包括打开、使用和关闭三个阶段。在...

    实现自己的Hibernate框架之Session 方法实现

    3. **删除(delete())**:删除对象时,会根据对象的主键从数据库中移除对应的记录,对应的Session方法就是delete()。 4. **加载(get()和load())**:这两者都是用于从数据库中获取对象。get()方法直接返回对象,...

    hibernate session.doc

    本篇文章将深入探讨`Session`中的`delete()`方法及其相关知识点。 `delete()`方法是`Session`接口中的一个重要方法,它的作用是删除数据库中与给定Java对象相对应的记录。使用`delete()`时,传入的对象可以是持久化...

    重写hibernate的session简单增删改查

    删除操作是通过调用Session的delete()方法完成的,传入需要删除的对象实例。Hibernate会根据对象的主键找到对应的数据并删除。 3. 修改(Update) 更新数据时,首先需要从数据库加载需要更新的对象,然后修改对象的...

    HibernateSession , Transaction 研究

    `Session`提供了一系列的事务管理方法,如`beginTransaction()`、`commit()`和`rollback()`。 1. `beginTransaction()`:启动一个新的事务,这通常是所有数据库操作的起点。 2. `commit()`:提交当前事务,意味着...

    php中将session保存到数据库的函数类代码.zip

    这种方法对于高并发场景、需要跨服务器共享Session或者需要长期保留Session数据的场景非常有用。同时,通过自定义的Session处理器,我们可以更灵活地控制Session的行为,例如添加额外的日志记录、优化数据库操作等。...

    SSHnote session函数的对象状态转换

    如果对象被删除,Session会执行对应的DELETE语句。 3. **脱管状态(Detached)**: 如果持久化对象的Session被关闭,或者对象通过调用`Session.evict()`方法被显式地从Session中移除,对象就会进入脱管状态。这时...

    session共享之memcache Redis

    在HTTP协议无状态的特性下,Session提供了在多个请求之间保持用户状态的方法。通常,服务器会为每个用户生成一个唯一的Session ID,并将其存储在客户端(如Cookie)中,以便在后续请求时识别用户。 当谈到Session...

    Spring Boot Redis Session 共享(Ajax 跨域)

    .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的方法 .allowedHeaders("*") // 允许的请求头 .allowCredentials(true); // 允许携带Cookie } } ``` **源码实践** 在提供的压缩包文件`...

    hibernate session生命周期示例

    - **删除**:使用`delete()`方法可从数据库中删除一个持久化对象。 4. ** flush 操作**: Hibernate不会立即执行所有数据库操作,而是将它们缓存起来。当需要同步缓存和数据库时,可以通过调用`flush()`方法强制...

    hibernate--3.Hibernate数据持久化(通过 Session 操纵对象)

    然后,可以使用Session的`save()`或`saveOrUpdate()`方法将新对象持久化到数据库。例如: ```java SessionFactory sessionFactory = ...; // 获取SessionFactory Session session = sessionFactory.openSession(); ...

    jsp-cookie-session-crud 使用 JSP 实现cookie session验证及增删改查

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)技术实现基于cookie和session的用户验证,并且结合CRUD(Create、Read、Update、Delete)操作进行详细讲解。首先,我们来理解JSP、cookie和session的基本...

    hibernate和session学习

    `Session`的常用方法包括:`save()`, `update()`, `delete()`, `get()`, `load()`, `query()`等。 1. `save()` 和 `update()`: `save()`用于将新对象持久化到数据库,如果对象已经存在,可以使用`update()`来更新其...

    Hibernate(session管理)

    2. **打开和关闭Session**:在开始数据库操作前,我们需要调用SessionFactory的openSession()方法来打开Session。完成操作后,务必调用Session的close()方法关闭Session,释放数据库连接,防止资源泄露。 3. **事务...

    session实现登录工程

    "Session实现登录工程"就是这样一个主题,它涉及到如何利用session技术来处理用户的登录状态,确保用户的安全性和操作的合法性。接下来,我们将深入探讨session的工作原理、在登录工程中的应用以及与数据库交互的增...

    Django操作session 的方法

    - `request.session.delete()`:删除当前会话的所有数据。 5. **Session操作**: - `request.session.keys()`:获取session中所有键的列表。 - `request.session.values()`:获取session中所有值的列表。 - `...

    Go-Packagesession为Macaron提供session管理

    session.Delete("username") // 保存修改并结束session session.Save() ctx.Render(200, "<h1>Welcome, %s!</h1>", user) } ``` 在这个例子中,我们首先从context中获取session实例,然后读取、设置或删除键...

    Hibernate三种状态和Session常用的方法

    Hibernate三种状态和Session常用的方法 Hibernate 作为一个流行的 Java 持久层框架,提供了对数据库的操作能力,其中Session 是 Hibernate 中最核心的接口,负责管理对象的生命周期。为了更好地理解 Hibernate 的...

Global site tag (gtag.js) - Google Analytics