spring問題
在Spring的MVC框架中集成Hibernate的時候,多半會報這個錯org/hibernate/cfg/HbmBinder$SecondPass。上網(wǎng)找了很多資料才發(fā)現(xiàn),報這個錯是因?yàn)閟pring和hibernate的版本問題造成的。只要上官網(wǎng)下一個最新的包就可以解決了。
我使用的是Eclipse3.2.0+MyEclipse5.1.0+Tomcat6.0+JDK1.6+MySQL5.0的環(huán)境。基本上都是最新的東西了。現(xiàn)在最新的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框架的配置文件。相當(dāng)于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 小卓 閱讀(148) 評論(0) 編輯 收藏 所屬分類: sping