`
nenty
  • 浏览: 112517 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Session与Java对象

阅读更多
Session与Java对象
实体对象的三种状态

1.临时状态 ( transient )----对象刚new创建时,还没被持久化,不处于session缓存中。

2.持久化状态 ( persistent )---已被持久化,加入到session缓存中(调用session的相关方法时)

3.游离状态 ( detached )----已被持久化,但不在处于session的缓存中。

当实体对象被加入到 session 缓存中,就在 session 和实体对象之间建立了一种联系,以后可以从 session 缓存中读取实体对象出来。

如下说明Customer对象的状态变化过程
代码 Customer的生命周期 Customer对象的状态
Tx =session.beginTransaction();
Custome c1=
newCustomer(“Tom”,new HashSet()); 开始生命周期 临时状态
Session.save(c1); 处于生命周期 转变为持久化状态
Long id = c1.getId();
C1=null;
Customer c2=
(Customer)session.load(Customer.class,id) 处于生命周期 处于持久化状态
Session.close(); 处于生命周期 转变为游离状态
System.out.println(c2.getName()); 处于生命周期 处于有理状态
C2=null; 结束生命周期(JVM回收) 结束生命周期

session 缓存的作用:
1 减少访问 DB 的频率

2 保证缓存中的对象与 DB 同步(在清理缓存时,一次更新变化的对象属性到 DB )

清理session 缓存的时间:
1 事务对象调用 commit ( )

2 session 调用 find ( ) 或 iterate ( ) 时,如缓存中持久化对象属性变化则清理,以便保持得到最新数据

3 程序显示调用session.flush ( ) 方法时。


分享到:
评论

相关推荐

    JAVA之cookie与session

    ### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...

    java后台请求http并保持Session

    在Java编程中,后台请求HTTP并保持Session是一个常见的任务,特别是在需要访问受保护的Web资源时,例如登录后的网页数据。下面将详细讲解这个过程,包括GET和POST方法的使用,以及Session管理。 首先,我们需要了解...

    Java 使用HttpClient保持SESSION状态

    以上就是在Java中使用HttpClient保持SESSION状态的基本流程。在实际项目中,可能还需要处理重定向、超时、错误处理等复杂情况。注意,对于HTTPS站点,可能需要配置SSLContext和TrustManager,以允许HttpClient信任自...

    java中使用session模拟用户登陆

    登出时,清除与该用户相关的Session信息: ```java session.removeAttribute("username"); // 从Session移除用户名 session.invalidate(); // 销毁Session,结束会话 ``` 6. **Session超时**:默认情况下,...

    SSHnote session函数的对象状态转换

    当一个新的Java对象被创建,但尚未与Hibernate的Session关联时,它处于瞬时状态。这个状态下,对象没有被保存到数据库,任何对对象属性的修改不会自动同步到数据库。如果对象被删除,那么这些更改将永久丢失。 2. ...

    session对象及其常用方法

    当客户首次访问服务器的一个页面时,服务器就会为该客户分配一个 Session 对象,同时为该 Session 对象指定一个唯一的 ID,并且将该 ID 号发送到客户端并写入到 Cookie 中,使得客户端与服务器端的 Session 建立一一...

    session对象存储

    本篇将详细探讨如何在JSP(Java Server Pages)环境中利用session对象来存储与用户相关数据。 首先,我们需要理解什么是Session。在Web应用中,每当用户打开一个网站并进行交互时,服务器都会为这个用户创建一个...

    java session

    ### Java Session概述与常见问题解析 #### 一、Java Session概念及作用 在Web开发中,`Java Session`是用于跟踪用户会话的一种机制。它主要用于处理客户端与服务器之间的交互过程中所产生的状态信息,例如用户的...

    精通Hibernate:Java对象持久化详解.zip

    Hibernate通过提供一种对象-关系映射机制,使得Java对象可以直接与数据库表进行交互,而无需编写大量的SQL语句。这种映射机制使得开发过程更加面向对象,提高了代码的可读性和可维护性。 本书的核心内容可能包括...

    jsp中Session对象源码

    在JavaServer Pages (JSP) 技术中,`Session` 对象是一个非常重要的概念,它用于跟踪用户会话状态。在Web应用中,当用户访问网页时,服务器可能需要记住用户的一些信息,如购物车内容、登录状态等,这时就需要用到...

    JAVA SESSION监听器

    Java Session监听器是Java Servlet规范中提供的一种机制,用于对HttpSession对象的生命周期事件进行监听和处理。在Web应用程序中,Session是用来跟踪用户状态的重要工具,特别是在无状态的HTTP协议上。当用户登录后...

    精通Hibernate:Java对象持久化技术详解.pdf

    以及实体类的注解或XML映射文件(.hbm.xml),用于定义对象与表之间的映射关系。这些配置文件是使用Hibernate的第一步,也是理解其工作原理的关键。 接下来,书中会介绍Hibernate的主要API,如SessionFactory、...

    java实现多次HttpURLConnection共享session

    总结来说,Java实现多次HttpURLConnection共享session的关键在于正确处理Cookie,保存服务器返回的Session ID,并在后续请求中携带这个ID。通过这种方式,即使没有浏览器环境,也能模拟登录状态,爬取登录后的内容。...

    java_session共享配置.jar

    Java_session共享配置主要涉及到Web应用中的会话管理,特别是如何在多服务器环境下保持用户会话的一致性。这里提到的几个jar文件是实现这一目标的关键组件。下面将详细讲解每个文件的作用及其背后的原理。 首先,`...

    Jsp九大内置对象,request,session,application

    熟练使用这些内置对象是开发JSP应用程序的基本要求,尤其是对于request、session和application对象更是必须要掌握的。 会使用对象所具有的方法,能熟练使用每一种对象的几种常用方法。希望对大家有用。。。

    Session对象讲解

    **Session对象讲解** Session对象是Web开发中的一个重要概念,它在服务器端存储用户的状态信息,以便在多个页面间保持用户的会话数据。在HTTP协议中,由于其无状态性,无法在请求之间自动保存用户信息,因此引入了...

    java Session cookie

    Java Session Cookie是Web应用程序中用于实现用户会话跟踪的一种机制。在HTTP协议中,由于其无状态特性,服务器无法在多次请求之间保持用户的上下文信息。为了解决这个问题,Session和Cookie应运而生,而Session ...

    java中使用session购物车的简单例子

    在“SessionCart”这个文件中,很可能包含了实现上述功能的Servlet代码示例,包括处理用户添加、查看、修改和删除购物车商品的请求,以及与Session相关的操作。通过分析和学习这个示例,可以深入理解Session在实际...

    Hibernate-nosession

    在Java的持久化框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它极大地简化了数据库操作。然而,在某些特定场景下,我们可能并不需要频繁地打开和关闭Session,这时“Hibernate-nosession”就显得尤为...

    java session判断用户登录时间和点击页面次数

    2. 使用`session.setAttribute("loginTime", new Date())`将当前日期和时间(Java中的`Date`对象)存储在Session中,键为"loginTime"。 3. 每当用户访问新的页面时,检查Session中的"loginTime",以获取登录时间。 ...

Global site tag (gtag.js) - Google Analytics