我的Web应用程序使用Tomcat 6.0.18和Spring 3.0.5以及eclipselink 2.0.1和javax.persistence 2.0.0,SQL Server数据库.我无法弄清楚配置,也无法找到具有此类配置的工作示例.我尝试将loadTimeWeaver的属性添加到entityManagerFacotory中,但它在Spring 3中破坏了AutoWired批注,如下面的applicationContext.xml中所示:
<context:load-time-weaver/>
Run Code Online (Sandbox Code Playgroud)
在appname-servlet.xml中:
但是当我禁用LoadTimeWeaver时,我的应用程序可以从JPA代码创建数据库,但无法将数据保存到数据库中.
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:persistence.xml" />
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="restfulPU" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
<property name="showSql" value="true"/>
<property name="generateDdl" value="true"/>
<property name="databasePlatform" value="org.eclipse.persistence.platform.database.SQLServerPlatform"/>
</bean>
</property>
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect" />
</property>
<property name="jpaPropertyMap">
<props>
<prop key="eclipselink.weaving">false</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
Persistence.xml
<persistence-unit name="restfulPU" transaction-type="RESOURCE_LOCAL">
<class>com.generalform.eclipselink.model.Todo</class>
<properties>
<!-- EclipseLink should create the database schema automatically -->
<property …Run Code Online (Sandbox Code Playgroud)