hibernate連載1


今日からhibernateの勉強を再構築します.ここでは、自分が学んだ知識点をまとめただけです.
まずhibernateのjarパッケージをダウンロードして、私のここはやはりhibernate 3を使います.2のjarは、jarをダウンロードしてからslf 4 jをダウンロードします.hibernateのslf 4 jのapiは1.5.8のバージョンです.ここでslf 4 jをダウンロードしても1.5.8のバージョンです.今日の知識点はhibernateを搭載する環境です.そのポイントは、自分のドキュメントに基づいてhibernate demoを構築する方法です.実はdemoは簡単です.重要なのはhibernateをどのように理解するかです.cfg.xmlというプロファイルは、ここで私が理解しているものとネット上で探しているものを総合的に解釈します.
<!--   XML      ,version='1.0'  XML   ,encoding='UTF-8'  XML       --> 
                <?xml version='1.0' encoding='UTF-8'?> 
<!--     XML   DTD    ,DTD Document Type Definition    ,        ,XML     DTD     XML      。hibernate.sourceforge.net/hibernate-configuration-3.0dtd   Hibernate3.1.3     src\org\hibernate        --> 
<!DOCTYPE hibernate-configuration PUBLIC 
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
    <!--  Hibernate       -->      
    <hibernate-configuration> 
    <!--          session-factory   ,SessionFactory Hibernate     ,         HIbernate     ,   Session   --> 
      <session-factory>    
      <!--          ,Hibernate       ,            --> 
          <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver </property> 
      <!--        url:jdbc:mysql://localhost/hibernate,  localhost  mysql     ,     ,    hibernate     -->  
            <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate </hibernate> 
    <!--         --> 
          <property name="hibernate.connection.username">root </property> 
          <!--        --> 
          <property name="hibernate.connection.password">123456 </property>        
          <!--         --> 
          <property name="hibernate.connection.pool.size">20 </property>        
        <!--       Hibernate   SQL  ,      true,    ,        Eclipse      Hibernate   Sql  。          false,      --> 
        <property name="hibernate.show_sql">true </property> 
        <!--jdbc.fetch_size  Hibernate            JDBC Statement      。Fetch Size    ,         ,    ,Fetch Size  ,         ,    --> 
        <property name="jdbc.fetch_size">50 </property> 
        <!--jdbc.batch_size  Hibernate    ,              。Batch Size  ,           Sql     ,     ,         --> 
        <property name="jdbc.batch_size">23 </property> 
        <!--jdbc.use_scrollable_resultset    Hibernate JDBC        。       。            --> 
        <property name="jdbc.use_scrollable_resultset">false </property> 
        <!--connection.useUnicode          Unicode  --> 
        <property name="Connection.useUnicode">true </property> 
        <!--connection.characterEncoding                  ,     gbk, gb2312      --> 
    <property name="connection.characterEncoding">gbk </property>      
        
        <!--hibernate.dialect   Hibernate        ,    Hibernate             。--> 
          <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect </property> 
        <!--       “hibernate/ch1/UserInfo.hbm.xml”-->        
          <mapping resource="org/mxg/UserInfo.hbm.xml"> 
  </session-factory> 
  </hibernate-configuration>    
  
  
  
  <bean id="dataSource"  
  class="org.apache.commons.dbcp.BasicDataSource"  
  destroy-method="close">  
//        
  <property name="driverClassName" value="${jdbc.driverClassName}" />  
//  url,    
<property name="url" value="${jdbc.url}" />  
//         
  <property name="username" value="${jdbc.username}" />  
//        
  <property name="password" value="${jdbc.password}" />  
</bean>  
  
Hibernate  DBCP            。        :
<bean id="hbSessionFactory"  
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  <property name="dataSource" ref="dataSource" />  
  <property name="configLocation">  
//hibernate          
  <value>WEB-INF/hibernate.cfg.xml </value>  
  </property>  
  <property name="configurationClass"  
  value="org.hibernate.cfg.AnnotationConfiguration" />  
  <property name="hibernateProperties">  
  <props>  
  //  oracle      ,             SQL    
    <prop key="hibernate.dialect">  
    org.hibernate.dialect.OracleDialect    
    </prop>  
  //  HQL          
    <prop key="hibernate.query.factory_class">  
    org.hibernate.hql.ast.ASTQueryTranslatorFactory    
    </prop>  
    //        sql      
    <prop key="hibernate.show_sql">true </prop>  
    // Hibernate     hibernate.use_outer_join       ,         outer join         。    
    <prop key="hibernate.use_outer_join">true </prop>  
  //    ,  cglib    。cglib    Hibernate     PO    ,                    
  <prop key="hibernate.cglib.use_reflection_optimizer">true </prop>  
  //       sql,         
  <prop key="hibernate.format_sql">true </prop>  
  //“useUnicode” “characterEncoding”                      Encode,      Encode    
  <prop key="hibernate.connection.useUnicode">true </prop>  
  //      ,                 .    
  <prop key="hibernate.cache.use_query_cache">false </prop>  
  <prop key="hibernate.default_batch_fetch_size">16 </prop>  
    //              
    <prop key="hibernate.dbcp.maxActive">100 </prop>  
  //                ,DBCP     (0 =   ,1 =   ,2  =    )    
    <prop key="hibernate.dbcp.whenExhaustedAction">1 </prop>  
    //          
    <prop key="hibernate.dbcp.maxWait">1200 </prop>  
    //         ,             
    <prop key="hibernate.dbcp.maxIdle">10 </prop>  
    ##    prepared statement   ,  。    
    <prop key="hibernate.dbcp.ps.maxActive">100 </prop>  
    <prop key="hibernate.dbcp.ps.whenExhaustedAction">1 </prop>  
    <prop key="hibernate.dbcp.ps.maxWait">1200 </prop>  
    <prop key="hibernate.dbcp.ps.maxIdle">10 </prop>  
  </props>  
  </property>  
</bean>