kratos2333
1/18/2017 - 10:47 AM

JPA set up for LocalContainerEntityManagerFactoryBean (under src/main/resources directory)

JPA set up for LocalContainerEntityManagerFactoryBean (under src/main/resources directory)

Need to include PersistenceAnnotationBeanPostProcessor inside the spring configuration file to make the @PersistenceContext works
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

	<context:annotation-config />
	<context:component-scan base-package="com.pluralsight"/>
	
<!-- 	<jpa:repositories base-package="com.pluralsight.repository" /> -->
	
	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
	
	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="punit"/>
		<property name="dataSource" ref="dataSource" />
		<property name="jpaVendorAdapter">
			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
				<property name="showSql" value="true" />
			</bean>
		</property>
		
		<property name="jpaPropertyMap">
			<map>
				<entry key="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
				<entry key="hibernate.hbm2ddl.auto" value="create" />
				<entry key="hibernate.format_sql" value="true" />
			</map>
		</property>
		
	</bean>

	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactory"/>
	</bean>
	
	<tx:annotation-driven transaction-manager="transactionManager"/>
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/fitnessTracker?autoReconnect=true" />
		<property name="username" value="kevinjia" />
		<property name="password" value="19840619" />
	</bean>

</beans>