`

Session 方法

 
阅读更多

Session:
 save:
  有两个save方法,save(Object) save(Object, ID),后者可以动态的指定对象的id属性。如果动态
  指定id属性时,该类的id生成策略是依赖本地数据库的话就会抛出异常。
  
 update:
  该方法将一个游离态的对象转变为持久态的,如果Session的缓存中存在与参数对象具有相同的id
  时,该方法会抛出异常。
  
  当我们调用update方法时,就会生成一条 update 的SQL语句,如果该对象的状态并没有发生改变
  这样就会生成不必要的访问数据库。在映射文件的 Class 元素中加入 select-before-update=true
  <class="" table="" select-before-update="true">
  该属性默认为 false,当配置该属性为 true 时,Hibernate在update对象前就会生成一条select
  语句来查询该对象,然后比较该对象的状态是否发生改变的情况来判断是否要生成 update 语句。
  当然对同一个对象的多次 update 操作,不会生成多条 update 语句,只有在Session清理缓存的
  时候才会根据对象状态的改变而生成 一条 SQL语句。
  应根据实际的应用情况来使用该属性,如果Java对象的属性状态不会经常发生改变,使用该数据
  可以减少不必要的 update ,这样会响应提高程序的性能,如果经常改变对象的状态还是不使用
  该属性的好。
  
 saveOrUpdate:
  该方法会根据对象的状态来对其进行不同的操作,如果方法传入的是一个临时态对象,就save。
  如果是一个游离态对象就update,如果是一个持久化对象就返回。那么,如果一个对象满足以下
  任何一个条件,那么这个对象就是一个临时态的对象。
  
  (1):Java对象的 oid 为 null
  (2):对象具有 version 属性并取值为 null
  (3):映射文件中为 <id> 元素设置了 unsaved-value 属性,并且该id与配置的属性值匹配。
    <id name="" column="" unsaved-value=0>
     <generator class="increment"></generator>
    </id>
  (4):映射文件中为 version 属性配置了 unsaved-value ,并且该属性值与配置的值相匹配。
  (5):自定义了Hibernate 中 Interceptor 的实现类,并且该 interceptor 类的isUnsaved()
    方法返回值为 true。
  
 get load :
  这两个方法都能从数据库中查询一条记录,并返回一个持久化的对象。区别在与,如果数据库中
  没有一条记录与要查询的对象 id 对应,load 方法会抛出 ObjectNotFoundException 异常,而
  get 方法会返回 null。
 
 delete:
  该方法是删除一个与对象对应的数据库记录,如果传人是 持久化对象 就会在清理缓存时执行delete
  语句,在Session.close时从缓存中删除该对象。如果传入的是 游离态 对象,Session会先关联该
  对象,使其转换为 持久态 对象,然后执行一个delete语句。
  
  delete ("from table where id > 5"); 方法重载,删除多条记录。

  

分享到:
评论

相关推荐

    hibernat-session方法

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

    PHP基于memcahe的session方法重写

    本文将详细介绍如何基于memcache实现PHP的session方法重写。 首先,memcache是一个高性能的分布式的内存对象缓存系统,它可以用来存储包括session在内的各种数据,提高数据访问的速度。PHP中的memcache扩展允许我们...

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

    本篇文章将深入探讨如何实现自己的Hibernate框架,特别是Session方法的实现,这对于理解ORM的工作原理及优化数据库访问逻辑具有重要意义。 首先,我们需要了解Hibernate的核心概念——Session。在Hibernate中,...

    jsp中Action使用session方法实例分析.docx

    ### JSP中Action使用Session方法实例分析 #### 引言 在Web开发中,特别是采用Java Server Pages (JSP) 和 Struts 框架进行开发时,会话管理(Session Management)是一项非常重要的功能。Session 使得服务器能够...

    基于memcahe的session方法重写(PHP)

    PHP session跨服务器跨域解决方案 基于memcahe的session方法重写

    IIS7 Session的方法

    **IIS7 Session 方法详解** IIS7(Internet Information Services 7)是微软推出的一款强大的Web服务器,它在处理Web应用程序时提供了丰富的功能,其中包括Session管理。Session在Web开发中扮演着至关重要的角色,...

    Girdview CheckBox翻页多选功能,将Girdview数据转换为二位数组的方法。将check状态存入session方法

    是B\S c#中 Girdview CheckBox翻页多选功能,将Girdview数据转换为二位数组的方法。将check状态存入session方法

    session详细方法

    以下是一些重要的Session方法: 1. `getCreationTime()`:返回Session创建的时间,以毫秒为单位。 2. `getId()`:获取Session的唯一标识ID,这个ID是由服务器生成的。 3. `getLastAccessedTime()`:返回客户端最后...

    jsp中Action使用session方法实例分析

    在JSP技术中,Action使用session方法是一种常见的技术手段,用来在Web应用中保持用户状态和传递信息。session对象为每个用户创建一个唯一的会话,从而允许服务器跟踪每个用户的活动。本文将详细介绍如何在JSP的...

    thinkphp3.x中session方法的用法分析

    本文将深入探讨ThinkPHP3.x中的Session方法的使用,包括其功能、参数解析以及各种操作实例。 一、Session方法概述 在ThinkPHP3.x中,`session()`方法是一个多功能操作函数,它涵盖了Session的设置、获取、删除和...

    cisco端口监控monitor session方法介绍

    在开始介绍monitor session方法之前,需要明确几个关键概念: 1. SPAN:它是Cisco设备上的一个功能,允许管理员从一个或多个源端口(或VLAN)复制数据帧到一个监控端口。通常,这个监控端口连接到例如网络分析仪或...

    Struts2中的session用法

    在 Struts2 中,要使用 Session,需要实现 SessionAware 接口,该接口提供了一个 setSession 方法,用于将 Session 对象传递给 Action。在 Login.java 文件中,我们可以看到,Login 类实现了 SessionAware 接口,并...

    session对象及其常用方法

    Session 对象及其常用方法 Session 对象是 Java Web 开发中一个非常重要的对象,它用于在会话范围内记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态。在本文中,我们将详细介绍 Session 对象及其常用...

    快速杀死oracle的session

    ### 快速杀死Oracle的Session方法详解 在Oracle数据库管理中,有时会遇到需要迅速终止某个或某些Session的情况。这通常发生在系统响应缓慢、需要紧急关闭特定进程时,或者是在执行`shutdown immediate`命令但发现...

    原生session操作IoTDB.zip

    3. **IoTDB的API**:IoTDB提供的原生Session API允许开发者直接调用Java类和方法来实现数据操作,这些API通常包括`connect`、`executeSQL`、`close`等方法,使得数据操作更为便捷。 4. **依赖库**:压缩包中的文件...

    .NET Core2.0+MVC 用session,cookie实现的sso单点登录

    这通常包括调用AddSession和UseSession方法。 2. **处理cookie**:为了实现SSO,我们需要创建一个全局的cookie来存储用户的身份信息。在.NET Core中,可以使用CookiePolicy中间件和CookieFeature类来管理cookie。...

    在ASP.NET中,设置Session的过期时间的方法

    方法一:  在后台应用程序中设置:Session.Timeout = 1;  注意:1、此方法可以设置在一个... 您可能感兴趣的文章:php 如何设置一个严格控制过期时间的sessionjava设置session过期时间的实现方法php中实现精确设置se

    asp.net c# 在类中使用session的方法

    在ASP.NET中,Session是一种服务器端的...在ASP.NET C#应用中,熟练掌握在类中使用Session的方法,能够显著提升应用的功能性和用户体验。通过遵循上述步骤和最佳实践,开发者可以构建更加健壮、安全和高效的Web应用。

Global site tag (gtag.js) - Google Analytics