我有一个要求,我想清除整个数据库表而不是继续前进。
我在使用 LocalSessionFactoryBean 的休眠中找到了以下解决方案。
但是我在 Hibernate 上使用 JPA,结果我有 LocalContainerEntityManagerFactoryBean。
谁能指导我,我如何使用 JPA over hibernate 实现类似的解决方案。
动机是重置数据库
我有一个要求,我想清除整个数据库表而不是继续前进。
我在使用 LocalSessionFactoryBean 的休眠中找到了以下解决方案。
但是我在 Hibernate 上使用 JPA,结果我有 LocalContainerEntityManagerFactoryBean。
谁能指导我,我如何使用 JPA over hibernate 实现类似的解决方案。
动机是重置数据库
使用休眠,您可以设置 <property name="hbm2ddl.auto">create</property>
或创建删除。
您也可以使用dbunit。
我用过
模式导出
为了解决这个问题,
LocalContainerEntityManagerFactoryBean localSessionFactoryBean = getLocalSessionFactoryBean(applicationContext);
Configuration conf = new Ejb3Configuration().configure(
localSessionFactoryBean.getPersistenceUnitInfo(), null)
.getHibernateConfiguration();
SchemaExport export = new SchemaExport(conf, localSessionFactoryBean
.getDataSource().getConnection());
export.create(true, true);
public LocalContainerEntityManagerFactoryBean getLocalSessionFactoryBean(
ApplicationContext applicationContext) {
return (LocalContainerEntityManagerFactoryBean) applicationContext
.getBean(LocalContainerEntityManagerFactoryBean.class);
}