关于HibernateTemplate

HibernateTemplate类中的方法是spring封装了hibernate中的方法,在使用完了以后会自动释放session。
    而如果使用了HibernateDaoSupport的getSession方法,就需要配套的使用 releaseSession(Session session)或者session.close来关闭session,
    无法实现自动管理session。所以很多人都倾向于用spring的  Hibernatetemplate类或者HibernateDaoSupport的getHibernateTemplate方法来实现实现数据库的交互,
    当然,如果遇到hibernatetemplate无法实现的功能,可以使用  HibernateCallback的事务 方法

时间: 2024-08-10 02:10:51

关于HibernateTemplate的相关文章

在Idea中hibernateTemplate.find("from User ");错误提示解决方法

在使用idea进行Java开发时(Springmvc框架下的项目),当使用到hibernateTemplate.find("from User ")时,总是在User下面提示错误,并有红色波浪线,但是并不影响项目正常运行,这里总结两个可能出现这种情况原因: 解决方案一: hibernateTemplate.find("from User ")中的User必须是POJO类,注意首字母大写问题. 解决方案二: 右键项目,选择添加框架,选择Persistence 添加完后

hibernateTemplate中的回调函数

hibernateTemplate中的回调函数:可以发现在hibernateTemplate类中所有对数据库的操作实现都是利用的回调函数hibernateTemplate中回调函数源码: public <T> T execute(HibernateCallback<T> action) throws DataAccessException { return doExecute(action, false); } public <T> T executeWithNativ

hibernateTemplate的load方法

hibernateTemplate的load方法采用延迟加载,所以应当注意. 如果配置不当,采用此方法获取对象,往往会出现异常: javax.servlet.ServletException: org.hibernate.LazyInitializationException: could not initialize proxy - no Session 出现此异常一般是因为session已关闭,无法获取对象. 测试代码: 以下是部门的实现类DeptDaoImpl的一个方法——通过部门id获取

HibernateTemplate 查询原生sql及ljava.lang.object cannot be cast to

/** * 使用sql语句进行查询操作 * @param sql * @return */ public List queryWithSql(final String sql){ List list = hibernateTemplate.executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query

HibernateTemplate常用方法

1:get/load存取单条数据 1)get()方法执行的时候,会立即向数据库发出查询语句,而load()方法返回的是一个代理(此代理中只有一个id属性),只有等真正使用该对象属性的时候,才会发出sql语句. 2)如果数据库中没有对应的记录,get()方法返回的是null.而load()方法出现异常ObjectNotFoundException HibernateTemplate.load(class<t>entityclass, Serializable id); HibernateTemp

hibernateTemplate的根据id来删除数据

如下: public void deleteById(int id) { User u = new User(); u.setId(id); hibernateTemplate.delete(u); }

HibernateTemplate 的常见用法

HibernateTemplate 提供了非常多的常用方法来完成基本的操作,比如增加.删除.修改及查询等操作,Spring 2.0 更增加对命名 SQL 查询的支持,也增加对分页的支持.大部分情况下,使用Hibernate 的常规用法,就可完成大多数DAO对象的 CRUD操作. 下面是 HibernateTemplate的常用方法.     delete(Object entity): 删除指定持久化实例. deleteAll(Collection entities): 删除集合内全部持久化类实

hibernateTemplate 调用 sqlServer2008存储过程 范列

新建存储过程 USE [数据库名] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER   proc [dbo].[p_basecheck](@dm varchar(30),@mc varchar(200),@bz varchar(200),@RET INT OUT)       as     SET NOCOUNT ON     begin    set @RET=1000  select 4  retvalue end java

【private HibernateTemplate template;】 的作用

这个是在spring中定义了一个bean,它是org.springframework.orm.hibernate3.HibernateTemplate的一个实例,这个类是hibernate的模板类,里面有很多hibernate的常用操作方法,如常用CRUD增删改查,在我们的DAO中一般都会这么写一个. package com.sxl.daoImpl; import java.sql.SQLException; import java.util.List; import org.hibernate

HibernateTemplate实现CRUD操作

---------------------siwuxie095 HibernateTemplate 实现 CRUD 操作 1.在 SSH 框架中使用 HibernateTemplate 模板类实现 CRUD 操作 2.HibernateTemplate 是 Spring 对 Hibernate 的封装 3.使用 HibernateTemplate 时,必须进行事务管理,否则将报错 建议:使用基于注解方式的声明式事务管理 4.测试 (1)编写一个实体类 User.java: package com