Hibernate中的Session什么时候关闭?

DSP28335与Vofa+上位机通信实战:SCIb配置避坑指南(附完整代码) 本文提供DSP28335与Vofa+上位机通信的实战指南,重点解析SCIb模块配置的常见问题与解决方案。针对研旭开发板的硬件连接、波特率精确计算、FIFO高效使用以及FireWater协议封装进行了详细说明,并附有完整代码,帮助开发者快速实现实时数据可视化与波形分析,提升调试效率。 阅读详情

Hibernate中的Session什么时候关闭?
 
来源:68design.net 2007年07月22日 09:55 网友评论:0条 点击:466
hibernate是持久化对象的,那它里面的Session什么关闭?

问题补充:感觉你说的不怎么对

session好像只在跟用户交互的时候才进行创建

等用户用完session以后,它就会随着用户销毁

以上是我对楼主补充问题的回答,顺带给楼下的初学者一点知识的补充。
***************************************

楼主只怕是初学Java,还没有搞清除HttpSession和Hibernate里的Session的区别。因为楼主说的东西是HttpSession的内容。
他们是完全不同的2个对象

javax.servlet.http.HttpSession是一个抽象接口
它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户身份的唯一表示。注意,是容器(Tomcat,Resin)自动创建的。

用途:存放这个用户的一些经常被用到的信息,例如:用户名,权限。例如在购物车程序里,存放用户买的商品。

销毁:一定时间(跟容器有关)内,用户无任何动作,session自动销毁。

得到的方法:
HttpSession session = request.getSession();
常用方法setAttribute
session.setAttribute(key,value);
这样在另一个JSP或者Servlet里,可以用
session.getAttribute(key);得到value
类似一个Map

$$$$$$$$$$
org.hibernate.Session
是hibernate操作数据库的一个句柄对象。它跟上面那个Session唯一的相似处就是名字有点像,其他没任何一样的地方。
至于它的用法,相信我在下面已经说得很明白了。
不懂的加我QQ:178036872

***************************************

一般的Hibernate程序中,Session由用户手动获取,手动关闭。
正规项目中,在业务层获取Session
Session session = HibernateSessionFactory.openSession();

然后把此session传给dao层,将数据持久化或其他的操作。
一次业务逻辑可能调用多个dao方法,例如银行转帐,是一个先减后增的过程,所以会调用2个dao里的方法(甲帐户减,乙帐户增)。因此,可以利用业务层产生的同一个Session来做这件事

a1和a2代表帐户实体。
a1是甲的,a2是乙的。
a1.setAcount(a1.getAcount()-1000);
a2.setAcount(a2.getAcount()+1000);
dao.update(a1,session);
dao.update(a2,session);
Transaction tx = session.beginTransaction();
tx.commit();

最后在业务层,将session关闭
session.close();
或者调用HibernateSessionFactory.closeSession(session);

最好能加上异常捕捉,之类,如产生异常,即时回滚。保证操作不出意外。

try{
...
tx.commit();
}catch(Exception e){
tx.rollback();
}finally{
HibernateSessionFactory.closeSession(session);
}

默认session的时间为20分钟,如果想在这之前清除的话可以使用Session.Abandorn方法
 

FastH3 + vLLM-Omni:MiniMax H3 视频生成本地部署与加速实战 随着多模态大模型在视频生成领域的普及,如何高效部署和加速推理成为工程实践的关键。vLLM作为高性能推理框架,通过PagedAttention和continuous batching显著优化了大模型吞吐;而FastH3则针对特定模型结构进行算子融合和CUDA优化。结合vLLM-Omni对多模态输入的支持,可以将MiniMax H3的视频生成耗时从分钟级压缩至秒级。本文以视频生成模型为例,详细拆解环境配置、推理优化与问题排查,为多模态模型本地部署提供参考。 阅读详情

相关推荐

Python实现安居客新房数据抓取简易版

本文介绍使用Python爬取安居客新房楼盘数据的方法,重点针对三四线城市。通过分析移动端H5页面结构,采用滚动加载方式获取推荐楼盘列表(class="recomm-list"),从中提取楼盘ID并拼接详情页链接。代码展示了如何解析HTML标签获取楼盘名称、状态、价格、户型等基本信息,并处理图片URL。爬取过程涉及一个一级页面和两个二级页面,同时提到可能遇到的验证码问题将在后续处理。核心代码使用BeautifulSoup解析HTML,requests发送请求,并将数据存入MySQL数据库。

qq_37604998的博客 475

session.close()关闭数据库连接的时机plus对象的作用域验证

上demo: class Conn(): def __init__(self): # 为了更直观看到变化,这里一个类初始化5个sqlalchemy连接 self.session = Session() self.session2 = Session() self.session3 = Session() self.se...

qq_27944187的博客 1544

单视图几何Vanish Point(消失点/灭点)计算方法——Robert_T_Collins(罗伯特·柯林斯)算法

单视图几何Vanish Point(消失点/灭点)计算方法——Robert_T_Collins(罗伯特·柯林斯)算法

beyond951的博客 7333

Hibernate session关闭策略

Hibernate中session是使用最频繁的对象,我们需要对session进行有效管理,即在执行数据库操作前打开session,在执行操作后关闭session。 对session的管理有两种场景: 1) 没有和Spring集成,我们自己管理 我们调用Hibernate的sessionFactory.openSession()方法,...

bto310 443

YOLO26改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失

本文记录的是。传统的卷积神经网络中常用的最大池化平均池化和步长为2的卷积等操作进行下采样可能会导致信息丢失,为了解决信息丢失问题,HWD作者受无损信息变换方法的启发,引入Haar小波变换到下采样模块中,

Limiiiing的博客 346

华为OD机考2025B卷 - 报文响应时间(Java & Python& JS & C++ & C )

华为OD机考2025B卷 - 报文响应时间

算法大师! 8083

Spring 中Hibernate session 打开和关闭总结

session的断开是在org.springframework.orm.hibernate.SessionFactoryUtils中处理的。  如果应用程序使用了OpenSessionInViewFilter或者OpenSessionInViewInterceptor,那么所有的打开过的session会注册在ThreadLocal里。在当前线程退出前,OpenSessionInViewFilte

mafly008的专栏 9466

SAP Gateway Foundation OData V4 服务管理深度解析,从 Service Repository 到 Service Group 的完整运行逻辑

本文解析了SAP S/4HANA中OData V4 API的技术架构,重点阐述Service Repository、Service与Service Group的三层管理体系。以SalesOrder和PurchaseOrder API为例,说明不同服务可能属于特定repository(如srvd_a2x)而非默认DEFAULT库。Service Group作为业务模型组合单元,支持跨服务引用和统一配置,其发布状态直接影响服务可用性。文中对比了后台管理事务/IWBEP/V4_ADMIN与网关端/IWFND/V4

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 88

Spring整合hibernate,session什么时候关闭

<bean id="sessionFactory_hotelbeds" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource_hotelbeds" /> <property name

平凡~坚持的博客 1981

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1108

【GEOS-Chem模拟教程第二期上】生物质燃烧排放 GFED4 数据配置

生物质燃烧排放 GFED4 数据配置

WW、forever的博客 1301

hibernate session关闭需要注意

 转载:http://blog.csdn.net/yongjian1092/article/details/8350313 1、getCurrentSession()与openSession()的区别? * 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession(),创建的session则不会 * 采用getCurrentSess

soar的博客 5470

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hibernate关于session的关闭问题

hibernate关于session的关闭问题 1、getCurrentSession()与openSession()的区别? * 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession(),创建的session则不会 * 采用getCurrentSession()创建的session在commit或rollback

Mr_HHH的博客 6268

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

hibernate关于事务 session的关闭问题

[java] view plaincopyStudent student = new Student();          student.setName("Jan");          student.setAge("22");          student.setAddress("广东省肇庆市");          Session session =HibernateUtil.get...

guo_yang的博客 1153

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

spring 控制hibernate的session何时关闭.

在用spring管理hierbernate的事务我们一般都用TransactionProxyFactoryBean去配置我们的Service方法.如.                                 PROPAGATION_REQUIRED    PROPAGATION_REQUIRED,readOnly      PROPAGATION_REQUIRED,readOnly    

dengyin2000的专栏 1万+

hibernate一对多session关闭问题

今天在座公司项目管理(ssh)的时候遇到了hibernate一对多session关闭的问题,后来在网上查到可以通过在web.xml里加入一个过滤器来解决但是还是不知其深层原因web.xml过滤器代码如下: hibernateFilterorg.springframework.orm.hibernate3.support.OpenSessionInViewFilterhibernateF

kevin_w_l的专栏 1360

Hibernate Tip: 使用JBOSS MBEAN时,Session会在事务提交后自动关闭!

做了一个hibernate app,相关代码如下:-------------------------------------VoteServiceImpl.classpublic class VoteServiceImpl{ Session session; 。。。。 public void closeSession(){ session.close();} public void del

Tomson Xu 2281

javaEE hibernate中的Session关闭问题.

在pl/sql中查hibernate的session连接数 select count(*) from v$session select count(*) from V$SESSION_WAIT ========================== 带openSession()必须手动关闭session,没带的hibernate可以自动关闭. 1. ==== 代码 String...

weixin_30246221的博客 195

hibernate的延迟加载及其与session关闭的矛盾

延迟加载就是并不是在读取的时候就把数据加载进来,而是等到使用时再加载。     那么Hibernate是怎么知道用户在什么时候使用数据了呢?又是如何加载数据呢?     其实很简单,它使用了代理机制。返回给用户的并不是实体本身,而是实体对象的代理。代理对象在用户调用getter方法时就会去数据库加载数据。     但加载数据就需要数据库连接。而当我们把会话关闭时,数据库连接就同时关闭了。这种

WarcraftJimmy的专栏 7902

用spring控制hibernate的session何时关闭

在用spring管理hierbernate的事务我们一般都用TransactionProxyFactoryBean去配置我们的Service方法. 如. &lt;bean id="baseTxProxy" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBe...

木桥 184

spring+hibernate中的session是否关闭

spring中的session如果没有配置org.springframework.orm.hibernate3.support.OpenSessionInViewFilter,spring自动关闭session

iteye_15118的博客 230

Hibernate——ThreadLocal模式下管理的Session会在事务提交后自动关闭

最近对Hibernate的ThreadLocal Session模式有点兴趣。于是根据曹晓钢翻译的Hibernate Reference做了个小测验,结果发现了一个小bug。 代码很简单,都是利用Hibernate Reference中现成的代码。 首先是一个辅助的得到线程安全的session的HibernateUtil类,public class HibernateUtil {

JAVA那些事 1687

Hibernate延迟加载Session关闭的解决方案

Hibernate的强大之处之一是延迟加载功能,可以有效的降低数据库访问次数和内存使用量。但用的不好就会出现org.hibernate.LazyInitializationException。 这个异常出现的原因很简单,主要时在加载懒数据时Session已经关闭造成的,如下图: 那么OK,我们来考虑怎么解决吧。 我们只要在渲染JSP之前不要关闭Session,而在JSP渲染之后再关闭

shenjialong的专栏 987
上一篇: 聚集索引和填充因子fill factor的设置,减少死锁
下一篇: JDK的概念、组成及JDK常用包
thunder09
博客等级 码龄17年 187粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值