[SSH整合收集]org/hibernate/cfg/HbmBinder$SecondPass错误

通过近两天时间的学习,对JSF+SPRING+HIBERNATE整合简单完成,现在分享如下:

平台及版本:

eclipse-SDK-3.2.1-win32.zip、MyEclipseEnterpriseWorkbenchInstaller_5.1.0GA_E3.2.1.exe、Hibernate 3.1、MyFaces 1.1、spring 1.2。

注意:hibernate-annotations.jar的版有问题,最简单就是从类型去掉,如果不去掉会报java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass 错误。

1、在WEB.XML中加入以下内容:

  1. <context-param>    
  2.      <param-name>contextConfigLocation</param-name>    
  3.      <param-value>/WEB-INF/applicationContext.xml</param-value>    
  4.   </context-param>    
  5.   <servlet>    
  6.      <servlet-name>context</servlet-name>    
  7.         <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>    
  8.         <load-on-startup>1</load-on-startup>    
  9.   </servlet>  

2、在faces-config.xml中加入以下内容

  1. <application>  
  2.   <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>  
  3.  </application>  

下面的是一个例子,引用了spring中的BEAN

  1. <managed-bean>  
  2.          <managed-bean-name>userBean</managed-bean-name>  
  3.          <managed-bean-class>com.UserBean</managed-bean-class>  
  4.          <managed-bean-scope>request</managed-bean-scope>  
  5.          <managed-property>  
  6.           <property-name>userDAO</property-name>  
  7.           <value>#{UserDAO}</value>  
  8.          </managed-property>  
  9.         </managed-bean>  

3、applicationContext.xml内容如下:

  1. <beans>  
  2.  <!-- 配置 dataSource 使用Hibernate2的话要修改下面的第一行 -->  
  3.  <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  4.   <property name="driverClassName">  
  5.    <value>com.mysql.jdbc.Driver</value>  
  6.   </property>  
  7.   <property name="url">  
  8.    <value>jdbc:mysql://NB-ZZZ:3306/y366</value>  
  9.   </property>  
  10.   <property name="username">  
  11.    <value>root</value>  
  12.   </property>  
  13.   <property name="password">  
  14.    <value>pacs3i</value>  
  15.   </property>  
  16.  </bean>  
  17.   
  18.  <!-- 配置sessionFactory, 注意这里引入的包的不同  -->  
  19.  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  20.   <property name="dataSource">  
  21.    <ref local="dataSource" />  
  22.   </property>  
  23.   <property name="mappingResources">  
  24.    <list>  
  25.     <value>com/User.hbm.xml</value>  
  26.    </list>  
  27.   </property>  
  28.   <property name="hibernateProperties">  
  29.    <props>  
  30.     <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>  
  31.     <prop key="hibernate.show_sql">true</prop>  
  32.    </props>  
  33.   </property>  
  34.  </bean>  
  35.   
  36.  <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  37.   <property name="sessionFactory">  
  38.    <ref local="sessionFactory" />  
  39.   </property>  
  40.  </bean>  
  41.   
  42.  <bean id="UserDAO" class="com.UserDAO">  
  43.   <property name="sessionFactory">  
  44.    <ref bean="sessionFactory" />  
  45.   </property>  
  46.  </bean></beans>  
  47.   

搞定!!!!!!!!

相关推荐