Spring3 통합 Hibernate4

Spring3 통합 Hibernate4
 
참고 사항:
1.jar 패키지 참고 프로젝트에 가져오려면 jaxen-1.1-beta-6.jar와commons-logging-api.jar,
   commons-logging-1.1.1.jar는 비교적 특수하다
 
2. Hibernate4에서 Dao 구성 요소는 HibernateDao Support를 계승할 필요가 없습니다.
Dao 어셈블리에서sessionFactory를 직접 주입할 수 있습니다.그리고 호출
   //Session session = sessionFactory.getCurrentSession();
   Session session = sessionFactory.openSession(); 
openSession () 방법, getCurrentSession () 이 아닌 것을 주의하십시오.방법.
그렇지 않으면 이상 보고:java.lang.NoSuchMethodError 예외
참조:http://www.cnblogs.com/lihuiyy/archive/2013/03/21/2972641.html
(hibernate4와spring3 통합 주의사항 그렇지 않으면 java.lang.NoSuchMethodError 이상)
세션 팩토리를 얻으면 new 하나 (또는 Spring에서 하나 주입) HIbernate Template를 사용할 수 있습니다.
   
3. hibernate 속성을 설정할 때
   
              
                 
                  hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
                  hibernate.hbm2ddl.auto=update
                  hibernate.show_sql=true
                  hibernate.format_sql=true
               
 
             

             
위의 형식에 주의하십시오. 줄마다 속성이 있습니다.
    hibernate.hbm2ddl.auto=update는 업데이트로 설정해야 하고,create로 설정해야 합니다. (표가 존재하지 않습니다.)무슨 영문인지 모르겠다.
여기에는 데이터베이스 테이블을 먼저 준비한 다음에 업데이트로 설정할 수 있습니다.
    
 4. hibernate 4.0에 CacheProvider 클래스가 없습니다.
CacheProvider는hibernate 3.3에서 사용을 권장하지 않았는데 이번에는 4.0에서 삭제한 것에 불과하다.
세션 팩토리의 Bean 구성은 다음과 같습니다.
   
class 속성 중의hibernate4를 주의하십시오
참조:http://blog.csdn.net/geekjoker/article/details/7899890
    
5.load를 호출할 때 id의 유형을 설정해야 합니다.예를 들어 id가 int형이라면 지구화 클래스를 정의할 때도 int로 정의해야 한다.
 
6. Spring 구성 파일
<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans  
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/aop 
            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
            http://www.springframework.org/schema/tx 
            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd" 
> 
           <!-- 1.   datasource -->
           <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
                <!--            -->
                <property name="driverClass" value="com.mysql.jdbc.Driver"/>
                <!--         URL -->
                <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/hibernate?useunicode=true&amp;characterEncoding=utf8"/>
                <!--             -->
                <property name="user" value="root"/>
                <!--            -->
                <property name="password" value="root"/>
                <!--                  -->
                <property name="maxPoolSize" value="40"/>
                <!--                  -->
                <property name="minPoolSize" value="1"/>
                <!--                   -->
                <property name="initialPoolSize" value="1"/>
                <!--                      -->
                <property name="maxIdleTime" value="20"/>
                
           </bean>
           
           <!-- 2.   sessionFactory -->
           <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
             <!--dataSource           --> 
             <property name="dataSource" ref="dataSource"/> 
           
             <!--            --> 
             <property name="mappingResources"> 
                <list> 
                  <value>com/test/hibernate/mapping/News.hbm.xml</value> 
                </list> 
             </property> 
           
             <!--  Hibernate   --> 
             <property name="hibernateProperties"> 
                <value> 
                  hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
                  hibernate.hbm2ddl.auto=update
                  hibernate.show_sql=true
                  hibernate.format_sql=true
                </value> 
             </property>
           </bean> 
           
           <!-- 3.   HibernateTemplate,         -->
           <bean id="hibernateTemplete" class="org.springframework.orm.hibernate3.HibernateTemplate">
             <property name="sessionFactory" ref="sessionFactory"></property>
           </bean>
           
           <!-- 4.   Dao  Bean, Dao   HibernateDaoSupport,    HibernateTemplate -->
           <bean id="newsDao" class="test.hibernate.pojo.dao.NewsDao">
             <property name="sessionFactory" ref="sessionFactory"></property>
           </bean>
           
           <!-- 5.   service     Bean,    Dao Bean -->
           <bean id="newsService" class="test.hibernate.pojo.dao.service.NewsService">
             <property name="newsDao" ref="newsDao"></property>
           </bean>
           
</beans> 

좋은 웹페이지 즐겨찾기