62,615
社区成员
发帖
与我相关
我的任务
分享
@Configuration
@ComponentScan(basePackages={"com.liyuhao.study.springJpaHibernateDruidSqlite"})
public class springCfg {
@Bean
public BeanPostProcessor persistenceTranslation(){
return new PersistenceExceptionTranslationPostProcessor();
}
@Bean
public PersistenceAnnotationBeanPostProcessor paPostProcessor(){
return new PersistenceAnnotationBeanPostProcessor();
}
@Bean
public LocalContainerEntityManagerFactoryBean getLocalContainerEntityManagerFactoryBean(){
LocalContainerEntityManagerFactoryBean temp=new LocalContainerEntityManagerFactoryBean();
temp.setDataSource(getDataResource());
temp.setJpaVendorAdapter(getHibernateJpaVendorAdapter());
temp.setPackagesToScan("com.liyuhao.study.springJpaHibernateDruidSqlite");
Properties ps=new Properties();
ps.setProperty("hibernate.format_sql", "true");
ps.setProperty("hibernate.hbm2ddl.auto","create");
temp.setJpaProperties(ps);
return temp;
}
@Bean
public HibernateJpaVendorAdapter getHibernateJpaVendorAdapter(){
HibernateJpaVendorAdapter adapter=new HibernateJpaVendorAdapter();
adapter.setDatabase(Database.H2);
adapter.setShowSql(true);
adapter.setDatabasePlatform("org.hibernate.dialect.H2Dialect");
adapter.setGenerateDdl(true);
return adapter;
}
@Bean
public DataSource getDataResource(){
DruidDataSource druid=new DruidDataSource();
druid.setUrl("jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false");
druid.setDriverClassName("org.h2.Driver");
//druid.setInitialSize(1);
//druid.setMaxActive(1);
return druid;
/*
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.build();
*/
}
}