Spring DAO (EclipseLink) applicationContext Config Fragen

Saeppich

Neues Mitglied
Meine applicationContext.xml sieht wie folgt aus

XML:
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="[URL]http://www.springframework.org/schema/beans[/URL]"
    xmlns:xsi="[URL]http://www.w3.org/2001/XMLSchema-instance[/URL]" xmlns:tx="[URL]http://www.springframework.org/schema/tx[/URL]"
    xmlns:context="[URL]http://www.springframework.org/schema/context[/URL]"
    xmlns:aop="[URL]http://www.springframework.org/schema/aop[/URL]" xmlns:util="[URL]http://www.springframework.org/schema/util[/URL]"
    xsi:schemaLocation="[URL]http://www.springframework.org/schema/beans[/URL] [URL]http://www.springframework.org/schema/beans/spring-beans.xsd[/URL] [URL]http://www.springframework.org/schema/aop[/URL] [URL]http://www.springframework.org/schema/aop/spring-aop.xsd[/URL] [URL]http://www.springframework.org/schema/context[/URL]  [URL]http://www.springframework.org/schema/context/spring-context-3.2.xsd[/URL] [URL]http://www.springframework.org/schema/tx[/URL] [URL]http://www.springframework.org/schema/tx/spring-tx-3.2.xsd[/URL]">
    <!-- Enable Spring Annotation Configuration -->
    <context:annotation-config />
    <!-- Scan for all of Spring components such as Spring Service -->
    <context:component-scan base-package="address.service"></context:component-scan>

    <!-- Necessary to get the entity manager injected into the factory bean -->
    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 

    <!-- Define Database Soruce -->   
    <bean id="dbSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
        <property name="url" value="jdbc:hsqldb:hsql://localhost:9001"/>
        <property name="username" value="sa"/>
        <property name="password" value=""/>
    </bean>
    <!-- Define Hibernate JPA Vendor Adapter -->
    <!--
    <bean id="jpaVendorAdapter"
        class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <property name="databasePlatform"
            value="org.hibernate.dialect.MySQLDialect" />
    </bean>
    -->

    <!-- Define EclipseLink JPA Vendor Adapter -->
    <bean id="jpaVendorAdapter"
        class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
        <property name="databasePlatform"
            value="org.eclipse.persistence.platform.database.MySQLPlatform" />
        <property name="generateDdl" value="false" />
        <property name="showSql" value="true" />
    </bean>

    <!-- Entity Manager Factory -->
    <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="hibernate.jpa"></property>
        <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
    </bean>

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

    <!-- Detect @Transactional -->
    <tx:annotation-driven transaction-manager="transactionManager" />
</beans>

Unter "<!-- Define Database Soruce -->" habe ich es mal so eingetragen wie im Spring Dokumentation angegeben. Wenn ich EclipseLink verwende; muss ich "org.apache.commons.dbcp.BasicDataSource" ändern oder bleibt es für Hibernate und EclipseLink gleich?

Wenn ich eine externe persistence.xml habe wird dann der Name hiervon dann als Wert für "persistenceUnitName" unter "<!-- Entity Manager Factory -->" angegeben oder was sagt der Wert "hibernate.jpa" aus?
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben