springdatajpa 怎么关闭session缓存 10C

我把user用户信息放到session中 但是我更新了下user之后再从session中取出user
取出来的user还是更新以前的user信息 怎么破 是不是应该关闭jpa自带的session缓存

那怎么关闭缓存呢

0

5个回答

跟新user的时候也更新一下session的user 信息

0
hcc_new_one_object
hcc_new_one_object 回复syso_love: 可能是事务问题,你可以先更新,如果返回更新数据大于0,就session.setAttribute("user",user);不去数据库去取
7 个月之前 回复
tongkaiming
tongkaiming 回复syso_love: 发一下你查询user用的方法
11 个月之前 回复
syso_love
syso_love 不是 session的问题 是jpa的问题 因为我刚update的时候 之后findById 取出来的user信息还是update之前的信息 这个是缓存吗
11 个月之前 回复
tongkaiming
tongkaiming 回复syso_love: session.flush();试一下,先执行这句再查询
11 个月之前 回复
syso_love
syso_love 说错了 是我先更新了下user 之后我再根据id从数据库查询user 但获取的user还是更新之前的user
11 个月之前 回复

说错了 是我先更新了下user 之后我再根据id从数据库查询user 但获取的user还是更新之前的user

0

获取user信息的代码是在程序启动时执行的吗,如果是注入到了内存,修改数据库后要重新启动程序。希望对你有帮助

0
syso_love
syso_love 不是的 大佬
11 个月之前 回复

更新成功没。看数据库数据变了没有。jpa几个状态了解一下

0

只说问题啊,你更新的时候这个方法被事务监管了吧,只有这个大的方法执行完毕后事务才会提交,这个时候数据库数据才会有变化,你更新方法后直接查询,事务没提交数据库信息不回变的,你在update后,把session里面的用户对象,换成成你新的user对象就行。话说用户不是放session中吗?

0
syso_love
syso_love 我是在一个方法里面 我update的时候数据库已经更新了 但是我取出来的还是update之前的user啊 你的意思是说虽然数据库改变了 但是事务没提交?
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SPRING DATA JPA 中几种缓存的配置
n在用spring data jpa的过程中,采用了ehcache 来做缓存, 是否需要二级缓存,一般不需要,这得看业务的需要,因为这东西如果配置不好,反而会导致性能下降,但如果是有些数据,基本不改动,长期不变,很少修改,而且数据量适中,并且外部使用频率高的情况下,还是可以使用的。就目前研究spring data jpa 来说,有三种情况下有可能会使用到缓存1. spring data jpa 自...
spring-data-jpa+hibernate 各种缓存的配置演示
本文所有测试用代码在https://github.com/wwlleo0730/restjplat 的分支addDB上rnrn目前在使用spring-data-jpa和hibernate4的时候,对于缓存关系不是很清楚,以及二级缓存和查询缓存的各种配置等等,于是就有了这篇初级的jpa+hibernate缓存配置使用的文章。rnrnrn[b]JPA和hibernate的缓存关系,以及系统demo环境...
jpa中的缓存
缓存相关的知识n1. 什么是缓存n内存中的临时数据n2. 为什么用缓存n减少和数据库的交互次数,提升执行效率n3. 什么样的数据适用于缓存,什么样的不适用n适用的:n– 经常查询的且不经常修改的数据n– 缓存数据的正确与否对最终结果影响不大的n不适用的:n– 经常被修改的数据n– 缓存数据的正确与否对最终结果影响大的nJPA中的一级缓存n概述:n它是EntityManager的缓存,当Entity...
JSP如何利用session在关闭浏览器时,自动清除缓存
function window.onUnload(){rn var newWindow;rn if((window.screenLeft>=10000 && window.screenTop>=10000)||event.altKey){rn newWindow=window.open('destorys.jsp','网页名称','width=0,height=0,top=4000,left=
JPA更新并且清理缓存
n n n 今天遇到一个问题,使用hibernate更新时出现问题,会使版本锁机制,无效.nnnnnnimage.pngnn方法中加事务,将查询出来的数据对象赋值,然后不执行更新操作,结束之后发现数据库中的数据已经更改,经过查询发现是因为hibernate缓存在事务结束之后有一个同步操作,会将更改之后的自动同步到数据库中,查询官方文档发现有一句话nnnnnnimage...
mybatis一级缓存(session cache)引发的问题
mybatis一级缓存(session cache)引发的问题
Hibernate入门(三)之hibernate 的session的缓存机制
session缓存缓存的生命周期当打开session以后,该缓存就开始了,当session关闭以后,该缓存不存在,其生命周期和session的生命周期是一样的n如何将数据存放到缓存中get方法session.get方法可以把一个对象放入到session的缓存中,以主键标识该对象,所以我们把这样的主键也叫oidnsave方法Session.save方法可以把对象放入到缓存中nupdate方法sessi
Spring Data JPA 二级缓存设置
测试通过rnrnrnrn net.sf.ehcachern ehcache-corern 2.6.9rnrn rn rnrn org.hibernatern hibernate-ehcachern ${hibernate.version}rnrnrn添加资源文件rnehcache.xmlrnrnrn rn rn ...
shiro学习(8)——缓存cache+会话session
5.15 shiro缓存nn nn针对上边授权频繁查询数据库,需要使用shiro缓存。nn nn  ​​​​​​​​​​​​​​5.15.1 缓存流程nn nnshiro中提供了对认证信息和授权信息的缓存。shiro默认是关闭认证信息缓存的,对于授权信息的缓存shiro默认开启的。主要研究授权信息缓存,因为授权的数据量大。nn nn用户认证通过。nn该 用户第一次授权:调用realm查询数据库nn...
Hibernate获取当前Session,Hibernate清空当前Session的缓存
sessionFactory.getCurrentSession()sessionFactory.getCurrentSession().evict(object)其中,sqlSessionFactory,是通过spring注入的。先从网上盗张图,来看下Hibernate的三种状态以及生命周期。需求情景:每次update时,都要记录更新了什么字段,由什么值更新为什么值。所以使用的是Aop,在@aro
SSH框架之Hibernate的集合缓存、查询缓存、项目中的session管理方式
一、集合缓存 n1、不使用集合缓存: n n2、使用集合缓存: n1)配置hibernate.cfg.xml n n2)测试: n二、补充二级缓存、集合缓存配置 n三、查询缓存 nlist() 默认情况只会放入缓存,不会从一级缓存中取! n使用查询缓存,可以让list()查询从二级缓存中取! n1、配置hibernate.cfg.xml n n2、测试类 n四、项目中的session管理方式
关闭页面时自动清除session的实用方法.txt
关闭页面时自动清除session的实用有效的方法 在关闭页面时
SpringSecurity 禁用用户后 实现清除指定用户缓存
介绍之前如果对cookie,session,cache不熟悉的,可参照此篇文章 nhttps://blog.csdn.net/u012251421/article/details/45333315nn问题出现的场景: n一般在类似于信息管理平台,通常会有对用户的状态进行操作,我遇到的问题是,当管理员用户,禁用普通用户后,普通用户仍然可以登录。nn出现的原因: nSpringSecurity在用户登...
shiro缓存管理和session管理
shiro中提供了对认证和授权的缓存,shiro是默认开始授权缓存而关闭认证缓存的rn在SecurityManager中需要这个参数rn项目一rnrn n n n n n 项目二rnnn n n n n n n n n 可以使用不同的缓存rncacheManagerrnrnnn n nredisrn n n rnredisManager 就是一个简单的数
服务器tomcat关闭 session还在
一直以为服务器关闭了,session 就没有了。结果遇到个坑,服务器重启,用户使用的是旧的session.rnhttp://blog.csdn.net/w420372197/article/details/7310293rnrn如果Tomcat配置为Session的持久化,在Tomcat关闭时,不会触发Session destroy事件。而是将每个Session中内容写入到文件中。当Tomcat再...
thinkphp5 缓存清理
public function sessionClear(){nn nn$platformId = config('config.platform_id'); //平台idnnSession::clear('mobile2');//缓存清理要加上作用域nnSession::clear('userLogin'.$platformId);nn(new Cookie())->clear();nn ...
shiro自动登录及session失效解决办法(1详解)不用缓存
这是一个困扰了我一周的问题,几乎找遍了全网,也没有找到合适的解决办法,问题的难度在于,不使用任何缓存技术,实现以下问题。nn1、当用户登录时,使用shiro rememberme,加密保存cookie 到本地。nn2、当用户再次登录时是自动登录状态,但是这时候是没有session的,这里就要解决session的问题。nnnn这里用到的是idea项目:springboot+shironn文件目录:...
SpringDataJpa的与Spring整合和基本查询语句(nosession问题)
依赖文件n<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven...
Springboot集成Ehcache缓存(主要用在登录后做保持会话验证)
这里以做手机登录调后台接口为例,手机登录后台要有会话保持,还有就是在请求后台时候要验证是否合法。一、    项目用到了springboot 首先集成拦截器。实现HandlerInterceptor 每次调接口时候都会先走这里,重写preHandle方法,设置拦截,通过逻辑。加上设置注入拦截器会自动加载。二、接下来说 用ehcache做缓存。pom中加依赖<dependency> &l...
Hibernate中的缓存机制与可能遇到的问题
一、一级缓存(session级别)nn概念nn我们来看看hibernate提供的一级缓存:nn       /**n * 此时会发出一条sql,将所有学生全部查询出来,并放到session的一级缓存当中n * 当再次查询学生信息时,会首先去缓存中看是否存在,如果不存在,再去数据库中查询n * 这就是hibernat
Session缓存和持久化生命周期
主要内容: nSession缓存原理 nSession缓存的应用 n持久化对象的生命周期Session缓存原理: nSession缓存:在Hibernate中被称为一级缓存。 n原理:n当应用程序调用Session的CRUD方法、以及调用查询接口的list()、iterate()或filter()方法时,如果在Session缓存中还不存在相应的对象,Hibernate就会把该对象加入到第一级缓存中
django学习笔记---session和缓存详细介绍
知识点简单来讲:Cookie是保存在用户浏览器端的键值对;Session是保存在服务器端的键值对。用于用户登录认证用。Django中默认支持Session,其内部提供了5种类型的Session供开发者使用:数据库(默认)缓存文件缓存+数据库加密cookie1、数据库SessionDjango默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中...
浏览器缓存机制(四)——sessionStorage和localStorage
一.Web StorageWeb Storage是HTML5提出的本地存储机制,主要目的是克服cookie的一些限制,当数据需要被严格控制在客户端上时,无需持续的将数据发回服务器。优点:n大量数据的存储(也有限制,因浏览器而异,每个来源2.5M/5M)n数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。n跨会话n缺陷:n因为WebStorag
关于SpringJpa中getOne方法遇到延迟加载报错no Session的问题
报错如下:norg.hibernate.LazyInitializationException: ncould not initialize proxy - no Sessionn...nn看到报错信息推测如下:遇到延迟加载,session关闭了,导致不能得到有效信息。n网上搜集了下资料,有关解释说,T getOne(ID id)依赖于EntityManager.getReference()执行实...
Mybatis获取当前sqlSession,Mybatis清空当前Session的缓存
SqlSessionUtils.getSqlSession(sqlSessionFactory);SqlSessionUtils.getSqlSession(sqlSessionFactory).clearCache();其中,sqlSessionFactory,是通过spring注入的。需求情景:每次update时,都要记录更新了什么字段,由什么值更新为什么值。在@around方法中,joinPo
使用redis缓存session
(1)先安装django-redis-sessions(2)在django项目的setting 中增加内容(3)管理redis操作命令启动:sudo redis-server /etc/redis/redis.conf停止:sudo redis-server stop重启:sudo redis-server restartredis-cli:使用客户端连接服务器keys *:查看所有的键get n...
ThinkPHP生成静态缓存页面
静态缓存技术(此处不讲ThinkPHP的buildHtml()方法生成静态页面):rn一. 网站只有一套模板rn(1)在根目录下的入口文件index.php中加:rndefine('HTML_PATH', './HTML/'); //生成静态页面的文件位置rnrn(2)在前台项目配置文件config.php中进行如下配置:rn//设置静态缓存rn'HTML_CACHE_ON' => true, ...
总结之shiro(六)——缓存、session管理
缓存nshiro每次授权都会通过realm获取权限信息,为了提高访问速度需要添加缓存,第一次从realm中读取权限数据,之后不再读取。n缓存可以使用redis和ehcache来实现缓存n小型项目使用ehcache就可以了,很方便。n这里使用ehcachen依赖ehcache包n<dependency>n <groupId>org.apache.shir...
Spring Data JPA实体的生命周期总结
目录nn四种状态n API示例  n persistn removen mergen refreshn n 参考链接n四种状态nn首先以一张图,简单介绍写实体生命周期中四种状态之间的转换关系:nnnn瞬时(New):瞬时对象,刚New出来的对象,无id,还未和持久化上下文(Persistence Context)建立关联。nn托管(Managed):托管对象,有id,已和持久化上下文(Per...
memcache缓存共享session实现
一、session共享问题介绍    session主要用于服务端存储用户会话信息,cookie用于浏览器存储用户会话信息。单系统服务session都存在同一个web容器中,例如tomcat中,用户请求都只访问这个容器中的session信息,除非容器挂了,否者不存在session取不到的情况。随着业务的扩展,应用用户的增加,当个容器存放系统应用消耗服务的cup和内存会不断增加,导致应用性能下降。此...
缓存(或者session)生成短信验证码
<?phpnnamespace app\common\smslxx;nnuse think\Cache;nn/**n * n *n * Class Smslxxn * 使用缓存,缓存键前缀smsn * @package app\common\smslxxn */nclass Smslxxn{n const CODE_LENTH = 4; //验证码长度,最大9n const ...
ehcache 缓存的常用配置
前言nnEhcache,小型轻量 n但现在笔者缓存方面,基本都是使用 Redis,更加方便、性能更好 n下面是之前的总结代码,留着,说不定其他团队、公司在用nnnn代码nnnnnnTestnnnnpackage ehc;nnimport net.sf.ehcache.Cache;nimport net.sf.ehcache.CacheManager;nimport net.sf.ehcache.E...
使用 SpringBoot 之 JPA 整合 Redis 实现缓存
一、前言nn数据库中的 select 是使用最频繁的,而且每次基本都是一样的,而 update、delete、insert 使用的频率没有 select 高,并且每次基本都是不一样的。为了减少数据库的压力,有必要对 select 使用缓存,以前使用的是 Ehcache 做缓存,但是其有一个很明显的缺点,就是没有 ip、port,而是使用路径的,不容易起到共享缓存的作用。故使用 Redis 做缓存可...
【用户在线统计】如何处理浏览器关闭时候的session清理问题
在线用户统计是用HttpSessionBindingListener实现的,将实例化的类放到session对象中,rnrequest.getSession().setAttribute("onlineUserListener", onlineUserListener);rnrnHttpSessionBindingListener内有两个方法valueBound(HttpSessionBinding
【ZooKeeper】会话清理
接会话机制一文中的会话超时检查nn在会话机制一文中,我们对会话的超时检查机制进行了简单的说明。主要包括:nnn谁负责进行超时检查n超时检查的策略是什么nnn最后在超时检查的”会话清理“过程没有详细的说明,那么本文将对这一过程进行详细的说明。nn涉及到的类nnnSessionTracker.SessionExpirer,一个接口类nSessionTrackerImpl中的变量:private fin...
关闭页面时清空Session (ASP.net ) (已实现)
关闭页面时清空Session (ASP.net ) (已实现)
web前端缓存之三sessionStorage
看了前两篇的童鞋都知道,每个缓存的api都有它的优缺点,希望大家能够在看完这个web前端缓存系列之后,能够帮助大家在项目开发中能够合理的使用每一个api<!DOCTYPE html>n<html lang="en">n<head>n <meta charset="UTF-8">n <title>Title&lt
对于关闭IE后如何清空session的解决方法
    之前在我的“简单实现用户单例登录需求”一文中http://nicyea.iteye.com/blog/716312,简单的描述了对于用户点击IE浏览器关闭按钮后,session在一定时间内未清除,导致用户单例登录无法再次重新登录的问题。rn    我搜集了网上的一些资料,主要问题是要解决如何捕获到“IE关闭”的动作。如果可以捕获到“IE关闭”的动作,在关闭时调用后台执行session的清除...
hibernate懒加载session关闭不能用。
今日工作内容:改写仓库管理系统懒加载出现取里面的数据的时候session关闭之后不能用的情况,解决:取消懒加载      延长session的时长      自己封装json数组,不用的不取。明日计划:继续完成仓库管理系统...
浅谈Mybatis中session的一级缓存的实现原理
最近由于受工作中业务需要和现有工程中dao层非orm思想的影响,觉得在有些业务场景下,并不一定非要去使用ORM框架,毕竟写大量的实体类也是一件麻烦的事,于是着手编写一个非ORM框架。初步完成后,底层的session并没能像mybatis那样能支持session的一级缓存(虽然在和Spring整合之后,Mybatis的session的一级缓存并没起什么作用),so,通过看源码大致了解一哈Mybati
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 ios开发视频缓存 java 缓存的学习书籍