- 浏览: 626049 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
今天自己在applicationXXX.xml配置文件中注入了一个实例,部署后重启tomcat时候抛错了,错误正是标题。我研究了好久,因为是参照之前注入成功的实例去注入的,怎么就出问题了呢?后来在网上查到,是因为我这个实例比较特殊:MemberDaoImpl extends HibernateDaoSupport implements MemberDao
就是因为集成了HibernateDaoSupport 这个,凡事继承这个的,都要在注入文件里面添加:<property name="sessionFactory" ref="sessionFactory"></property>
完整的部分是: <bean id="memberDao" class="cn.payeasy.user.service.impl.MemberDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
以下是网上的:
- <bean id="userDAO" class="org.bookstore.dao.impl.UserDAO">
- <property name="sessionFactory" ref="sessionFactory"></property>
- </bean>
- <bean id="userService" class="org.bookstore.service.impl.UserService">
- <property name="userDAO">
- <ref bean="userDAO"/>
- </property>
- </bean>
<bean id="userDAO" class="org.bookstore.dao.impl.UserDAO"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="userService" class="org.bookstore.service.impl.UserService"> <property name="userDAO"> <ref bean="userDAO"/> </property> </bean>
- public class UserDAO extends HibernateDaoSupport implements IUserDAO {
- public void saveUser(User user) {
- ......
- }
- }
public class UserDAO extends HibernateDaoSupport implements IUserDAO { public void saveUser(User user) { ...... } }
修改后如下:
- <bean id="userDAO" class="org.bookstore.dao.impl.UserDAO">
- <property name="sessionFactory" ref="sessionFactory"></property>
- </bean>
- <bean id="userService" class="org.bookstore.service.impl.UserService">
- <property name="userDAO">
- <ref bean="userDAO"/>
- </property>
- <property name="sessionFactory" ref="sessionFactory"></property>
- </bean>
<bean id="userDAO" class="org.bookstore.dao.impl.UserDAO"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="userService" class="org.bookstore.service.impl.UserService"> <property name="userDAO"> <ref bean="userDAO"/> </property> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
原因:
我的org.bookstore.dao.impl.UserDAO继承了org.springframework.orm.hibernate3.support.HibernateDaoSupport, spring在初始化容器的时候会对这个对象作一个check, 看下HibernateDaoSupport源码中的checkDaoConfig()方法就清楚啦:
- protected final void checkDaoConfig() {
- if (this.hibernateTemplate == null) {
- throw new IllegalArgumentException("'sessionFactory' or 'hibernateTemplate' is required");
- }
- }
- protected final void checkDaoConfig() {
- if (this.hibernateTemplate == null) {
- throw new IllegalArgumentException("'sessionFactory' or 'hibernateTemplate' is required");
- }
- }
protected final void checkDaoConfig() { if (this.hibernateTemplate == null) { throw new IllegalArgumentException("'sessionFactory' or 'hibernateTemplate' is required"); } }
所以,在com.lfw.sh.manager.impl.UserManageImpl对象一定要注入一个sessionFactory or hibernateTemplate对象。
- <bean id="sessionFactory"
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="dataSource">
- <ref bean="dataSource" />
- </property>
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.dialect">
- org.hibernate.dialect.MySQLDialect
- </prop>
- </props>
- </property>
- <property name="mappingResources">
- <list>
- <value>org/bookstore/model/User.hbm.xml</value>
- ....
- </list>
- </property>
- </bean>
评论
3 楼
jiangao_01
2011-11-16
3q
2 楼
ml365
2011-10-08
gwl3323405 写道
谢谢LZ,帮我很快解决了问题。
呵呵,大家互相交流
1 楼
gwl3323405
2011-10-03
谢谢LZ,帮我很快解决了问题。
发表评论
-
ssh 上传文件出错:encountered 1 errors during the transfer
2011-12-05 16:48 1147检查下你的上传目录有无中文路径或特殊字符。多数是这样的原因造成 ... -
部署出现Deployment failure on Tomcat 6.x
2011-09-13 18:04 1176在用MyEclipse6.5做项目时发现这样的问题: Dep ... -
Bad version number in .class file
2011-09-10 15:56 648有时候,在MyEclipse运行application程序时会 ... -
JProfiler试用手记【转】
2011-09-08 14:13 732http://hi.baidu.com/xuwanbest/b ... -
keytool+tomcat6配置HTTPS双向证书SSL认证【转】
2010-12-22 11:45 1359转于百度文库 在Tomcat 6中配置SSL双向认证是相 ... -
LazyInitializationException: could not initialize proxy - no Session
2010-12-12 22:15 1056OK,这个问题可以解决,先让我描述下: SSH结合开发这是一 ... -
项目所容易犯的错误与发生的异常[转]
2010-12-12 16:51 936list=1] exception setting pr ... -
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 解决【原创】
2010-12-12 16:40 1494今天遇到一个hibernate多表联级查询类型转换的问题,刚开 ... -
hql unexpected token 错误解决【原创】
2010-12-12 11:16 2436String hql = "from TIssu ... -
Attempt to refer to a unregistered pool by its alias[转]
2010-12-12 10:38 4298出现这个问题,是poolxml的连接名或连接参数有误 ... -
apache安装后 no services installed 解决办法【原创】
2010-12-11 11:06 1885本来一直很排斥学习PHP,可是连续两次有机会去兼职一份开发,用 ... -
java.lang.ArrayIndexOutOfBoundsException: 1[原创]
2010-12-11 11:01 2114出现这样的错误,就是你的数组越界了。 什么叫越界呢。就是 ... -
Invalid location of tag (form) 错误[原创+转载]
2010-12-11 10:59 2641最近遇到了个问题,有一个列表提交,第一条记录点击的时候浏览 ... -
java.lang.NumberFormatException: null错误 的解决[原创]
2010-12-11 10:48 4655这是个类型转化的错误,起码我是从字面这样理解的。那么其实, ... -
Cannot forward after response has been committed【解决】
2010-12-11 10:40 1382java.lang.IllegalStateException ... -
jsp跳转出错java.lang.IllegalStateException解决方法【原创】
2010-12-11 01:06 998这个是个经典的出错,本来在页面里用 response.se ... -
抛错java.lang.IllegalArgumentException: port out of range:-1解决【原创】
2010-12-11 01:05 7325突然就登陆不了网站,看控制台抛出的是 java.lang.I ... -
cookie报错java.lang.IllegalArgumentException【原创】
2010-12-11 00:53 1414之前完成了一个用cookie记录用户名的功能,之前没有考虑 ... -
java.io.NotSerializableException错误解决方法[转
2010-12-11 00:51 1106在重启Tomcat 5时发现报此错误.查阅后发现tomcat ... -
java.lang.IndexOutOfBoundsException 错误解决【原创】
2010-12-11 00:45 3076一般这个错误一出现,就是数组的问题,通常后面还会跟一个 I ...
相关推荐
本示例将深入探讨如何使用Spring将SessionFactory注入到HibernateTemplate中,从而实现数据库操作的便捷管理。 首先,让我们了解几个关键组件: 1. SessionFactory:这是Hibernate的核心工厂类,用于创建Session...
hibernateTemplate = new HibernateTemplate(sessionFactory); } return hibernateTemplate; } public List<Person> getPersons() { return getHibernateTemplate().find("from Person"); } public Person...
hibernateTemplate = new HibernateTemplate(sessionFactory); } return hibernateTemplate; } // 查询所有Person实例 public List<Person> getPersons() { return getHibernateTemplate().find("from ...
hibernateTemplate = new HibernateTemplate(sessionFactory); } return hibernateTemplate; } // 查询所有Person public List<Person> getPersons() { // 使用HibernateTemplate查询所有Person return ...
throw new InvalidDataAccessApiUsageException("SessionFactory required for HibernateTemplate"); } // 获取当前会话 Session session = sessionFactory.getCurrentSession(); // 设置会话配置 ...
- 在这种方式下,我们直接使用 DataSource 来创建 SessionFactory,并从 SessionFactory 创建 HibernateTemplate。 3. **直接获取并使用**: - 这种方式较为简单,直接通过现有的 SessionFactory 获取 ...
HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory, true); ``` #### 四、SessionFactory的作用 `SessionFactory`是Hibernate的核心工厂类,负责创建`Session`对象,同时也是线程...
<property name="sessionFactory" ref="sessionFactory"/> ``` - **使用**:在需要进行事务管理的方法上添加`@Transactional`注解即可,例如: ```java @Service @Transactional public class ...
- 创建HibernateTemplate实例:使用SessionFactory创建HibernateTemplate,通常通过`setSessionFactory()`方法注入SessionFactory。 - 编写业务逻辑:调用HibernateTemplate提供的方法,如`save()`, `update()`, `...
DataSource用于连接数据库,SessionFactory是Hibernate的核心接口,而HibernateTemplate则是Spring对SessionFactory的封装,提供了一种模板方法模式来执行常见的Hibernate操作。 ```xml <!-- 数据库连接配置 --> ...
在Java的持久化框架Hibernate中,`SessionFactory`是核心组件之一,它负责管理数据库会话并提供对象-关系映射(ORM)的功能。本篇文章将深入探讨`SessionFactory`的使用,以及如何创建和操作它。 `SessionFactory`...
HibernateSessionFactory.java
通过这种方式,开发者可以在继承`HibernateDaoSupport`的DAO实现类中直接调用`HibernateTemplate`的方法,而无需显式创建`SessionFactory`和`HibernateTemplate`。 #### 四、比较分析 - **使用场景**:`...
在使用HibernateTemplate之前,需要配置SessionFactory,并将其注入到HibernateTemplate实例中。以下是一个简单的例子: ```java @Autowired private HibernateTemplate hibernateTemplate; public void saveUser...
### HibernateTemplate类的使用详解 #### 一、引言 在Java开发中,持久层框架Hibernate因其优秀的ORM(Object-Relational Mapping)特性被广泛应用。为了更便捷地使用Hibernate,Spring框架提供了一系列工具类来简化...
本篇文章将深入探讨`HibernateSessionFactory`及其在Hibernate中的作用,以及如何使用它来实现增、删、查、改(CRUD)操作。 `SessionFactory`是Hibernate的核心组件,它是线程安全的,负责管理数据库连接和会话。`...
hibernate中的SessionFactoryhibernate中的SessionFactoryhibernate中的SessionFactory
在Spring 3.x版本之后,HibernateTemplate被HibernateOperations接口和SessionFactory取代,但在之前的版本中,它是非常流行的一种选择。 **一、HibernateTemplate介绍** HibernateTemplate是Spring对Hibernate的一...
它是Spring对Hibernate提供的一个抽象层,它提供了一组模板方法,使得开发者可以更方便地进行持久化操作,如保存、更新、删除和查询等,而无需直接与`Session`或`SessionFactory`打交道。`HibernateTemplate`内部...
本文将详细讲解如何在Spring 3.2.3版本中配置SessionFactory,以便整合Hibernate 4.2.2,实现对数据库操作的高效管理。SessionFactory是Hibernate的核心组件,它负责创建Session对象,而Session则是与数据库交互的...