Meine applicationContext.xml sieht wie folgt aus
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?
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: