table

spring问题

在Spring的MVC框架中集成Hibernate的时候,多半会报这个错org/hibernate/cfg/HbmBinder$SecondPass。上网找了很多资料才发现,报这个错是因为spring和hibernate的版本问题造成的。只要上官网下一个最新的包就可以解决了。

我使用的是Eclipse3.2.0+MyEclipse5.1.0+Tomcat6.0+JDK1.6+MySQL5.0的环境。基本上都是最新的东西了。现在最新的Hibernate包是3.2.2GA。还需要下一个hibernate-annotations-3.2.1.GA这个包。将这两个包里面的hibernate-annotations.jar和hibernate3.jar解压出来,替换工程里面的lib包下面的相同的文件就行了。或者把MyEclipse下面的Hibernate包也都替换掉,免得以后麻烦。hibernate-annotations.jar这个包是Spring框架下的。

在spring的MVC框架中配置hibernate资源的时候,最好是将XXX-servlet.xml文件中配置hibernate资源信息。这样比较好识别。XXX-servlet.xml文件是spring MVC框架的配置文件。相当于struts中struts-config.xml。如果你使用的是hibernate.cfg.xml文件来配置的话,那么必须加classpath来指定cfg.xml文件的位置。例如:
<bean id="sessionFactory"
   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="configLocation">
    <value>classpath:/hibernate/hibernate.cfg.xml</value>
   </property>
   <property name="dataSource">
    <ref bean="dataSource"/>
   </property>
</bean>
<bean id="dataSource"
   class="org.apache.commons.dbcp.BasicDataSource">
   <property name="driverClassName">
    <value>com.mysql.jdbc.Driver</value>
   </property>
   <property name="url">
    <value>jdbc:mysql://localhost:3306/mydatabase</value>
   </property>
   <property name="username">
    <value>root</value>
   </property>
   <property name="password">
    <value>11111111</value>
   </property>
</bean>

posted on 2008-12-15 11:35 小卓 阅读(108) 评论(0)  编辑  收藏 所属分类: sping


只有注册用户登录后才能发表评论。


网站导航: