Estoy tratando de deshacerme del típico archivo persistence.xml
en la aplicación web Spring JPA. Hasta ahora, he logrado inyectar el EntityManager
con éxito con lo siguiente:¿Cómo configurar algunas propiedades de hibernación en la aplicación web Spring JPA?
@Configuration
@EnableTransactionManagement
public class JpaConfig {
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean(){
LocalContainerEntityManagerFactoryBean factoryBean
= new LocalContainerEntityManagerFactoryBean();
factoryBean.setDataSource(this.restDataSource());
factoryBean.setPackagesToScan(new String[ ] { "com.jverstry" });
factoryBean.setPersistenceUnitName("MyMy");
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(){
{
// JPA properties ...
}
};
factoryBean.setJpaVendorAdapter(vendorAdapter);
return factoryBean;
}
@Bean
public DataSource restDataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
dataSource.setUrl("jdbc:hsqldb:mem:testdb");
dataSource.setUsername("sa");
dataSource.setPassword("");
return dataSource;
}
@Bean
public PlatformTransactionManager transactionManager(){
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(
this.entityManagerFactoryBean().getObject());
return transactionManager;
}
}
He conseguido pasar las propiedades de mi persistence.xml para la fuente de datos:
<properties>
...
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="create"/>
</properties>
pero cómo me puse las dos propiedades de hibernación restantes arriba? Gracias
ver también http://stackoverflow.com/questions/7416024/spring-3-1-datasource-not- autowired-to-configuration-class –