JPA (hibernate 4.3.x) + Spring 3.2.x

	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManager" />
	</bean>
	
	<bean id="entityManager" depends-on="dataSource"
		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="packagesToScan"
			value="...packages...persistence.entity" />
		<property name="persistenceUnitName" value="gigi" />
		<property name="persistenceProvider">
			<bean class="org.hibernate.jpa.HibernatePersistenceProvider" />
		</property>
		<property name="jpaPropertyMap" ref="jpaPropertyMap" />
		<property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
		<property name="jpaDialect">
			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
		</property>
	</bean>

	<jpa:repositories base-package="...some package..."
	                  entity-manager-factory-ref="entityManager"
	                  transaction-manager-ref="transactionManager">
		<repository:include-filter type="annotation"
		                           expression="org.springframework.stereotype.Repository"/>
	</jpa:repositories>

	<bean id="jpaVendorAdapter"
	      class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
		<property name="database" value="POSTGRESQL"/>
		<property name="showSql" value="true"/>
		<property name="databasePlatform"
		          value="org.eclipse.persistence.platform.database.PostgreSQLPlatform"/>
	</bean>
	
	<util:properties id="jpaPropertyMap">
		<prop key="hibernate.transaction.jta.platform">
			org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform
		</prop>
		<prop key="hibernate.connection.autocommit">false</prop>
		<prop key="hibernate.dialect">
			org.hibernate.spatial.dialect.postgis.PostgisDialect
		</prop>
		<prop key="hibernate.show_sql">true</prop>
	</util:properties>

	<bean class="org.springframework.orm.hibernate4.HibernateExceptionTranslator"/>

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.