- 浏览: 1500946 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
一、javax.servlet.http.HttpSession是一个抽象接口 它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户身份的唯一表示。注意,是容器(Tomcat,Resin)自动创建的。 用途:存放这个用户的一些经常被用到的信息,例如:用户名,权限。例如在购物车程序里,存放用户买的商品。 销毁:一定时间(跟容器有关)内,用户无任何动作,session自动销毁。 得到的方法: 它是hibernate操作数据库的一个句柄对象。它跟上面那个Session唯一的相似处就是名字有点像,其他没任何一样的地方。 一般的Hibernate程序中,Session由用户手动获取,手动关闭。 然后把此session传给dao层,将数据持久化或其他的操作。 a1和a2代表帐户实体。 最后在业务层,将session关闭 最好能加上异常捕捉,之类,如产生异常,即时回滚。保证操作不出意外。 try{ 默认session的时间为20分钟,如果想在这之前清除的话可以使用Session.Abandorn方法
HttpSession session = request.getSession();
常用方法setAttribute
session.setAttribute(key,value);
这样在另一个jsp或者Servlet里,可以用
session.getAttribute(key);得到value
类似一个Map
二、org.hibernate.Session
正规项目中,在业务层获取Session
Session session = HibernateSessionFactory.openSession();
一次业务逻辑可能调用多个dao方法,例如银行转帐,是一个先减后增的过程,所以会调用2个dao里的方法(甲帐户减,乙帐户增)。因此,可以利用业务层产生的同一个Session来做这件事
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.close();
或者调用HibernateSessionFactory.closeSession(session);
...
tx.commit();
}catch(Exception e){
tx.rollback();
}finally{
HibernateSessionFactory.closeSession(session);
}
发表评论
-
自定义用户类(UserType)的使用
2011-08-04 10:46 1856学习hibernate有段时间了,最近复习这门技术时看到了自定 ... -
技巧:利于ThreadLocal模式管理Session
2011-08-02 10:31 1264在利用Hibernate开发DAO模块时,我们和Session ... -
Hibernate中的回调与拦截机制
2011-07-27 17:31 1460在某些情况下,我们需要对实体的CURD操作进行捕获并执行一些操 ... -
HibernateTemplate中HibernateCallback的事务
2011-07-04 14:41 1440目的:使用HibernateTemplate执行execute ... -
Hibernate的复杂用法HibernateCallback
2011-07-04 14:40 1336HibernateTemplate还提供一种更加灵活的方式来操 ... -
Hibernate session FlushMode有五种属性
2011-07-04 13:59 17281、NEVER:已经废弃了,被MANUAL取代了2 MANUA ... -
数据库持久层——浅谈hibernate中的Session
2011-07-01 22:49 1665大多数情况下,Session 管理的目标聚焦于通过合理的设 ... -
详解Hibernate Session
2011-07-01 22:42 1492这里介绍Hibernate Session,Ses ... -
巧用SQLQuery中的addScalar
2011-06-02 17:16 5741当我们用HQL进行子查询的时候,如select * from ... -
hibernate中SQLQuery的addEntity();方法
2011-04-13 14:48 2888如果使用原生sql语句进行query查询时,hibernate ... -
Hibernate的clear(),flush(),evict()方法详解
2011-03-24 11:18 17701.Clear 方法 无论是Load 还是 G ... -
hibernate模糊查询-Restrictions.ilike & Expression.like
2011-03-11 10:32 16354Criteria criteria = session.c ... -
Hibernate分页查询小结
2011-03-10 11:14 1826通常使用的Hibernate通常是三种:hql查询,QBC查询 ... -
current_session_context_class
2011-03-07 15:31 1293此设置的作用如下: What does sessionFac ... -
Hibernate的拦截器和监听器
2010-12-14 15:06 1386核心提示:最近项目需要,用到了Hibernate的拦截器和 ... -
孙卫琴.精通Hibernate:Java对象持久化技术详解_触发器使缓存与数据库不一致
2010-12-14 08:46 1386p198 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_优化报表查询的性能
2010-12-13 17:51 1269p332 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_查询结果类型
2010-12-13 17:34 1302p329 -
孙卫琴.精通Hibernate:Java对象持久化技术详解_投影查询
2010-12-13 17:31 1423p325 -
深入浅出hibernate_夏昕_hibernate别名完成ResultSet和实体的映射
2010-12-13 17:09 1354p199
相关推荐
与Web开发中的`HttpSession`不同,`Hibernate Session`与JDBC的`Connection`更为相似,负责处理数据的持久化操作。`Session`具有短暂的生命周期,通常在一次数据库事务的开始和结束之间创建和关闭。 `Session`具有...
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。 SessionFactory接口 SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建...
同时,Hibernate的session不同于JSP应用中的HttpSession。 SessionFactory SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是...
需要注意的是,这里的“session”与Web开发中常用的`HttpSession`不同,它们在概念上有着本质的区别。 2. **SessionFactory接口**:主要负责初始化Hibernate环境以及创建`Session`对象。`SessionFactory`对象在整个...
4. **Session Factory** 和 **Session**:Hibernate中,`SessionFactory` 是创建 `Session` 的工厂,而 `Session` 是与数据库交互的基本单元。 #### 四、具体实现步骤 1. **配置Hibernate** - 创建Hibernate配置...
在IT行业中,"session已关闭"是一个常见的错误提示,通常出现在Web应用开发中,特别是涉及到用户会话管理和服务器状态跟踪时。这个问题可能是由于多种原因引起的,包括但不限于:服务器配置问题、session过期、...
Spring MVC、Spring 和 Hibernate 是Java开发中非常流行的三大框架,它们共同构成了企业级Web应用的基础架构。Spring MVC作为Spring框架的一部分,主要负责处理HTTP请求和响应,提供模型-视图-控制器(MVC)设计模式...
同时,Session 与 JSP 中的 HttpSession 完全不同,后者用于存储用户会话信息。 2. **SessionFactory 接口**:SessionFactory 是 Session 的工厂,它根据配置信息创建 Session 实例。SessionFactory 是重量级的,...
此外,Hibernate中的Session与JSP中的HttpSession不同,前者特指Hibernate的会话,后者则专指用户会话。 2. **SessionFactory接口** SessionFactory接口负责初始化Hibernate框架,充当数据存储源的代理,创建...
- Hibernate的Session是与数据库交互的主要接口,它负责持久化对象的创建、加载、更新和删除。 - Session支持一级缓存,可以有效减少对数据库的直接访问,提高性能。 - 使用`Session.beginTransaction()`开始事务...
3. org.hibernate.Session Interface:和我们前面所学的 HttpSession 没有任何关系。我们在 Hibernate 应用中使用最广泛的接口,也被称为持久化管理器,提供了相关的数据库操作,比如添、更、删、加、查等基本操作。...
3. **Session和Transaction**:Hibernate中的Session是与数据库交互的主要接口,负责保存和检索对象;Transaction则是数据库操作的单元,确保数据的一致性。 4. **CRUD操作**:Create(创建)、Read(读取)、...
在Hibernate3中,DAO通常会使用Session的 CRUD(Create, Read, Update, Delete)方法操作数据库。 6. **安全考虑**:注册登录系统必须考虑安全性问题。例如,密码应该在存储前进行加密,防止明文泄露。此外,登录时...
- 在Hibernate中,`Session`的概念与JSP中的`HttpSession`不同,需要注意区分。 - **用途**:`Session`主要用于执行持久化操作,如保存、更新、删除和加载实体对象等。 ##### 3.2 SessionFactory接口 - **定义**:...
同时,它与Web应用中的HttpSession不同,不要混淆两者。 2. SessionFactory接口:SessionFactory是Session的工厂,负责创建Session实例。它是一个重量级对象,通常一个应用只需要一个SessionFactory,因为它与...
此外,Hibernate的Session不应与Web应用中的HttpSession混淆。 2. **SessionFactory接口**:SessionFactory是一个工厂接口,负责初始化Hibernate并创建Session对象。它是一个重量级的组件,通常一个项目只有一个...
此外,Hibernate的Session不应与Web应用中的HttpSession混淆,后者用于管理用户的会话状态。 2. **SessionFactory接口**: SessionFactory接口是Hibernate的工厂类,它负责初始化和管理Hibernate环境。...
此外,这里的Session不同于HTTPSession,它是针对Hibernate的特定概念。 2. SessionFactory接口:SessionFactory是Hibernate的核心,它是线程安全的,负责初始化和管理Session。一个SessionFactory对应一个数据库...
在 Web 应用中,还可以通过 `ServletUtil.getSessionContext(session)` 从 HttpSession 中获取预设的 DataContext。 总的来说,Cayenne 提供了一个强大的、易于使用的 ORM 解决方案,特别适合小型系统开发,减少了...