Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

Anchor
Session Factory configuration of hibernate mappings for CSF version 2
Session Factory configuration of hibernate mappings for CSF version 2

Session Factory configuration of hibernate mappings for CSF version 2

Locate your project's sessionFactory bean and add the mappingLocations property as shown below (replacing the mappingLocations resource paths with those from your project):

Code Block
    <bean id="sessionFactory" parent="abstractSessionFactory" >
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.jdbc.use_scrollable_resultset">true</prop>
                <prop key="hibernate.jdbc.batch_size">20</prop>
                <prop key="hibernate.cache.use_second_level_cache">true</prop>
                <prop key="hibernate.generate_statistics">true</prop>
                <prop key="hibernate.cache.use_structured_entries">true</prop>
                <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop>
                <prop key="edu.mit.common.domain.student.hibernate.cache.use_query_cache">true</prop>
            </props>
        </property>
        <property name="mappingLocations">
            <list>
                <value>classpath*:edu/mit/csf/example/academic/hibernate/*.hbm.xml</value>
                <value>classpath*:edu/mit/csf/example/student/hibernate/*.hbm.xml</value>
            </list>
        </property> 
    </bean>
  1. Each of your project should only have 1 sessionFactory bean defined.
    • For a WAR project:  The sessionFactory bean should be defined in the project's /src/main/resouces/applicationContext-<projectName>-config.xml file.
    • For a JAR project:  The sessionFactory bean should be defined in the project's src/test/resources/applicationContext-csf-<projectName>-config-test.xml file.
  2. All csf-common-legacy hibernate mappings are automatically added to your project via the CSF abstractSessionFactory bean.
  3. Hibernate mappings for the csf-email and csf-ruleengine jars must be added to the mappingLocations.  The resource paths are:
    • For csf-email:
      Code Block
      <value>classpath*:edu/mit/es/csf/email/hibernate/*.hbm.xml</value>				
      
    • For csf-ruleengine:
      Code Block
      <value>classpath*:edu/mit/es/csf/ruleengine/hibernate/*.hbm.xml</value>				
      
  4. 3rd party hibernate mapping (located in a jar) can be used by:
    1. Adding the dependency for the jar to your project's pom.xml and
    2. Adding the resource path for the hibernate mapping to the session factory's mappingLocations list.