传入HibernateCallback借口的对象一定要序列化
public Loginer getLoginer(final Loginer loginer) throws Exception {
return getHibernateTemplate().execute(
new HibernateCallback<Loginer>(){
public Loginer doInHibernate(final Session session)
throws HibernateException, SQLException {
String sql = "from Loginer as lg where lg.loginerId = '"+loginer.getLoginerId()+"' and lg.status = 1 ";
return (Loginer) session.createQuery(sql).uniqueResult();
}
}
);
}
分享到:
相关推荐
HibernateCallback 使用方法 HibernateCallback 是 Hibernate 框架中的一种 callback 机制,允许开发者在持久层访问时执行自定义操作。HibernateCallback 是 Spring 框架中与 Hibernate 整合的重要组件,通过它可以...
executeFind 方法用于执行给定的 HibernateCallback 对象,用于在 Session 中执行查询操作。 HibernateTemplate 提供了许多实用的方法来简化 Hibernate 的使用,提高了数据库操作的效率和简洁性。本文对 ...
因此,当你确定对象一定存在时,可以使用`get`;不确定时,或者需要延迟加载时,可以使用`load`。 B. `find` 和 `iterate`: 这两个方法都用于执行HQL(Hibernate Query Language)查询。`find`返回一个List集合,...
例如,在配置 Hibernate 模板时,我们使用了 HibernateCallback 对象来执行 Hibernate 操作。这使得我们的应用程序更加灵活和可维护。 Spring 配置文件是 Spring 框架中最重要的配置文件之一,负责定义和配置应用...
- `void delete(Object entity)`:删除给定的持久化对象。 - `void deleteAll(Collection entities)`:批量删除集合中的所有持久化对象。 2. **查询操作** - `List find(String queryString)`:根据HQL...
"hibernate执行原生sql...我们可以使用 `Session.createSQLQuery()` 方法、`HibernateCallback` 接口和 `SQLQuery` 对象来执行原生 SQL 语句。这些方法可以帮助我们更好地控制数据库查询,并解决一些复杂的查询问题。
它们可以通过继承Hibernate的`Serializable`接口或实现`HibernateCallback`接口来实现持久化。 5. **Session接口**:Session是Hibernate的主要工作单元,负责对象的持久化操作,如保存、更新、删除和查询。它是线程...
删除操作可以通过`delete()`方法来实现,只需要传入要删除的对象即可: ```java public void delete(Address address){ getHibernateTemplate().delete(address); } ``` 综上所述,CRUD操作在JSP Web开发中扮演着...
通过`HibernateTemplate`的`execute`方法传入一个实现了`HibernateCallback`接口的对象,可以在回调方法中执行任意的Hibernate操作。 ```java public class PersonDaoImpl extends HibernateDaoSupport implements ...
例如,你可以通过实现HibernateCallback接口的doInHibernate方法,传入一个回调函数,执行特定的Hibernate操作。此外,HibernateTemplate会自动处理HibernateException,并将其转化为Spring的DataAccessException,...
这一步骤发生在web容器启动时,配置文件中包含了SessionFactory、DAO对象以及其他服务的配置信息,容器根据这些信息实例化并管理对象。 6.5.8 了解继承自HibernateDaoSupport类的DAO HibernateDaoSupport是Spring为...
依赖注入则是实现控制反转的一种方式,它通过在对象创建时,注入其依赖的对象,来实现耦合度的降低。 好处包括: - 解耦:对象之间不需要直接交互,降低了代码之间的耦合性。 - 可测试性:更容易编写单元测试,因为...
在实现分页查询时,需要注意的是,要在HibernateCallback的`doInHibernate`方法中编写HQL语句或Criteria查询,通过Session创建Query对象,然后设置分页参数(如`setFirstResult`和`setMaxResults`),最后执行查询。...
在使用前,通常需要使用`Assert.notNull`和`Assert.isTrue`来验证对象是否为空以及其ID是否大于0,以避免不必要的事务回滚。首先,通过`get`方法加锁(一般使用`LockMode.update`悲观锁)获取持久化实例,然后调用`...
Service层会调用DAO层提供的`queryPage`方法,传入用户请求的页面参数和HQL查询语句,然后将返回的`PageModel`对象传递给Struts的Action层。Action层进一步处理这些信息,如校验参数、组装视图模型等,最后通过...
`queryForPage`方法利用了Spring的`HibernateTemplate`,通过回调机制执行`HibernateCallback`,在回调的内部创建`Query`对象,设置分页参数`setFirstResult`和`setMaxResults`,然后执行查询并返回结果。...
整个系统通过Struts处理用户请求,Spring管理事务和数据访问,Hibernate负责数据持久化,形成了一个高效、稳定的Web应用架构。 总的来说,理解Struts、Spring、Hibernate的工作原理和相互关系是成功开发复杂Web应用...
Hibernate API 是一个强大的Java持久化框架,用于简化数据库操作。在Java应用中,尤其是企业级应用,Hibernate 提供了一种对象关系映射(ORM)机制,使得开发人员可以使用面向对象的方式来操作数据库,而无需过多...
在IT领域的软件开发中,尤其是基于Java的企业级应用开发中,Hibernate作为一个强大的对象关系映射(ORM)框架,被广泛应用于持久层的数据处理。本文将深入探讨如何利用Hibernate中的`HibernateTemplate`类进行批量...
Hibernate3.6.10用到的jiar antlr-2.7.6.jar,commons-collections-3.1, commons-logging-1.1.3, dom4j-1.6.1, ejb3-persistence, hibernate-jpa-2.0-api-1.0.1.Final, hibernate3, javassist-3.12.0.GA, jta...