NoughT
NoughT

Reputation: 673

How configure hibernate.cfg.xml to applicationContext.xml as dataSource?

I have hibernate.cfg.xml file in my java root directory.

Here is my applicationContext.xml file.

<?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:context="http://www.springframework.org/schema/context"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">

    <context:component-scan base-package="com.nought">
        <context:exclude-filter type="annotation"
            expression="org.springframework.stereotype.Controller" />
    </context:component-scan>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager" />

    <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="persistenceUnit" />
        <property name="dataSource" ref="dataSource" />
    </bean>

    <jpa:repositories base-package="com.nought.repository"></jpa:repositories>

</beans>

How I add a data source to applicationContext.xml using hibernate.cfg.xml file.

Also Do I want to implement a bean "sessionFactory" that contain with org.springframework.orm.hibernate4.LocalSessionFactoryBean in applicationContext.xml ??

If do, what changes that I want to do??

Can someone please help me??

Upvotes: 1

Views: 7230

Answers (1)

minion
minion

Reputation: 4353

Here is sample of how of hibernate.cfg.xml and how to configure your sessionFactory with it.

cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
    <property name="connection.datasource">java:comp/env/jdbc/oracle</property>
    <property name="dialect">
        org.hibernate.dialect.Oracle9iDialect
    </property>

    .. other config goes here.....
   </session-factory>
</hibernate-configuration>

Add this your applicationContext.xml.

<bean name="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
        <property name="mappingResources">
            <list>              
                <value>...your hbm file location...</value>
            </list>
        </property>
    </bean>

Upvotes: 3

Related Questions