`

八、Session

 
阅读更多
方法 (CRUD)

save

delete:只要对象有主键,并且数据库里面有,就能删除。

load

get

get与load的区别:
1、不存在对应记录时表现不一样,get方法返回null,尔load方法先返回一个代理对象,在使用时报错。
2、load返回的是代理对象,等到真正用到对象的内容时才发出sql语句
3、get直接从数据库加载,不会延迟
update
1、用来更新detached对象,更新完成后转为persistent状态
2、更新transient对象会报错
3、更新自己设定id的transient对象可以(数据库有对应记录)
4、persistent状态的对象只要设定(如:t.setName…)不同字段就会在事务提交或者session关闭时,自动发起更新
5、更新部分更改的字段
(1)xml 设定 property 标签的 update 属性,annotation 设定@Column 的 updatable属性,不过这种方式很少用,因为不灵活
(2)使用xml中的dynamic-update,JPA1.0 Annotation 没有对应的属性
          同一个session可以,跨session不行,不过可以用merge()(不重要)
(3)使用 HQL(EjBQL)(建议)
saveOrUpdate
clear:清除session缓存。
无论是load还是get,都会首先査找缓存(一级缓存),如果没有,才会去数据库査找,调用
clear()方法可以强制清除session缓存。
flush:强制将内存(session缓存)与数据库同步
当session的事务提交后,会强制将内存(session缓存)与数据库同步。默认情况下是session的事务提交(commit)时才同步!
session的FlushMode设置,可以设定在什么时候同步缓存与数据库(很少用)
例如: session.setFlushMode(FlushMode.AUTO)
SchemaExport (自动建表)
new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
第一个boolean值表示是否显示建表的ddl语句
第一个boolean值表示是否显示在数据库中执行ddl建表语句
 
 
 
 
分享到:
评论

相关推荐

    Java关于session的详细解释

    #### 八、Session的状态管理 - **状态管理**:在Web应用中,状态管理是一个重要的问题。除了Session之外,还可以使用Cookies、Hidden Fields等方式来实现状态的跟踪。 - **Session的优势**:相比于其他状态管理技术...

    Session详解(主要讲Session跟Cookic区别)

    #### 八、总结 - **Cookie与Session的核心区别**:Cookie主要用于在客户端存储小量数据,而Session则是在服务器端存储数据,用于跟踪用户的会话状态。 - **应用场景选择**:Cookie适用于不需要高度安全性的场景,如...

    Session页面之间 传值

    #### 知识点八:Session与ViewState的区别 - **Session**:存储在服务器端的数据,用于跨多个页面或请求间持久化用户特定的信息。 - **ViewState**:存储在客户端的数据,主要用于维护表单的状态,以便在页面回发时...

    获取SessionID

    - `Integer.toOctalString(hs.getId().hashCode())`:首先通过`hs.getId()`获取SessionID,然后调用`hashCode()`方法获取SessionID的哈希值,最后使用`toOctalString`方法将哈希值转换为八进制字符串。 - 这种做法...

    Session详解.doc

    #### 八、总结 Session机制是现代Web应用程序中的一个重要组成部分,它为服务器提供了维持客户端状态的能力,从而使得服务器能够提供个性化的服务。虽然Cookie和Session机制都能实现状态保持的功能,但它们各有优...

    跨服务器session应用详解

    八、总结 session机制是Web应用程序实现用户状态跟踪的关键工具,但同时也需要考虑其带来的性能和安全性问题。理解session的工作原理,以及如何在Java Web应用中正确使用和管理session,对于构建高效、安全的Web...

    javaweb用户验证码登录session例子

    此外,"day08"可能代表课程或项目中的第八天,这可能是一个逐步学习和构建的过程。在这一天,你可能会学习如何整合前面学过的HTML、CSS、JavaScript、Servlet和JSP等知识,实现这个完整的登录系统。 总结来说,...

    PHP中session全面教程.txt

    #### 八、高级Session管理 1. **自定义Session存储**:可以通过重写PHP内置的Session处理器来实现自定义的Session存储方式,如使用数据库或其他持久化存储。 2. **Session复制**:在多服务器环境下,可能需要实现...

    session对象存储

    在Web开发中,Session对象是服务器用来跟踪用户状态的重要工具,尤其在无状态的HTTP协议下,Session成为了存储用户特定信息的关键技术。本篇将详细探讨如何在...通过实验八的实践,你可以更深入地理解并掌握这些概念。

    session机制与cookie机制(来源于IT168)

    八、总结 session和cookie都是为了解决HTTP无状态的问题,它们各自有优势和局限。选择使用哪种机制取决于应用场景,如数据量、安全性、服务器资源等因素。理解和熟练掌握这两者对于Web开发人员至关重要,以确保提供...

    Session详解

    #### 八、总结 Session机制是现代Web应用中不可或缺的一部分,它克服了HTTP协议无状态的局限,实现了用户状态的持久化和个性化服务。通过深入理解Session的工作原理及其与Cookie、`HttpSession`接口的关系,开发者...

    Tomcat8亲测可用 tomcat-redis-session-manager的jar包

    1. **tomcat8**:这是Apache Tomcat的第八个主要版本,是一个开源的Java Servlet容器,它实现了Java EE的Web应用程序部署规范。Tomcat8支持Servlet 3.1、JSP 2.3和EL 3.0等标准。 2. **redis**:Redis是一种内存...

    关于session.doc

    #### 八、总结 Session机制是现代Web开发中不可或缺的一部分,它解决了HTTP协议无状态的局限性,使得开发人员能够构建出更加复杂和强大的Web应用。理解和掌握Session机制的基本原理和使用方法对于每一个Web开发者来...

    Session和Cookies的区别

    #### 八、综合运用建议 在实际开发中,通常不会仅依赖单一技术来实现会话跟踪。结合使用 Cookies 和 Session 可以更好地平衡安全性和用户体验: - 对于非敏感信息和需要长期保持的状态,可以使用 Cookies。 - 对于...

    session详解

    #### 八、总结 Session机制是Web应用程序中实现状态保持的关键技术之一。通过在服务器端存储用户状态信息,并通过客户端cookie传递会话ID,可以实现对用户行为的跟踪和个性化服务。尽管session机制已被广泛采用,但...

    session机制详解

    目录: 一、术语session 二、HTTP协议与状态保持 三、理解cookie机制 四、理解session机制 五、理解javax.servlet.http.HttpSession ...六、HttpSession常见问题 ...七、跨应用程序的session共享 ...八、总结

    tomcat8 用redis共享session用于jdk8以上版本

    Tomcat8是其第八个主要版本,提供了对最新Java技术的支持,如JSP2.3和Servlet3.1规范。 2. **Redis**:Redis是一个高性能的键值数据库,通常用于缓存和消息代理。由于其内存存储特性,读写速度非常快,因此它常被...

    EJB_sessionbean.rar_session

    **八、EJB的优势** - **可移植性**:EJB遵循标准,可以在任何兼容Java EE的服务器上运行。 - **可伸缩性**:EJB容器能根据需求自动管理资源,支持高并发访问。 - **可靠性**:EJB提供了事务管理、安全性和异常处理...

    Laravel开发-session

    八、Session闪存数据 Laravel提供了闪存数据功能,使得数据仅在下一次请求中可用,之后会自动删除: ```php session()->flash('key', 'value'); // 或者 \Session::flash('key', 'value'); ``` 九、自定义Session...

Global site tag (gtag.js) - Google Analytics