Я настраивал Критерии API в DBConfiguration файл, и у меня есть одна таблица с именем audit_log
, где я регистрирую пользователя, который регистрирует дату, время, статус и имя пользователя,
Вот мои настройки файла DBConfiguration
@Configuration
@ComponentScan
@EntityScan("com.package.scan")
@EnableJpaRepositories("com.package.scan")
/*@PropertySource("classpath:db-config.properties")*/
public class DBConfiguration {
public DBConfiguration() {
logger = LogManager.getLogger(DBConfiguration.class.getName());
}
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource)
{
return new JdbcTemplate(dataSource);
}
@Bean
public DataSource dataSource() {
logger.info("dataSource() invoked");
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.postgresql.Driver");
dataSource.setUrl("jdbc:postgresql://localhost:5432/x2c");
dataSource.setUsername("postgres");
//dataSource.setPassword("P@ssw0rd");
dataSource.setPassword("home");
logger.info("dataSource = " + dataSource);
return dataSource;
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan(new String[] { "com.mphasis.x2c.services.admin" });
final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
// vendorAdapter.set
em.setJpaVendorAdapter(vendorAdapter);
em.setJpaProperties(additionalProperties());
return em;
}
@Bean
public PlatformTransactionManager transactionManager() {
final JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
return transactionManager;
}
@Bean
public PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
return new PersistenceExceptionTranslationPostProcessor();
}
Properties additionalProperties() {
Properties properties = new Properties();
properties.setProperty("hibernate.hbm2ddl.auto", "create-drop");
properties.setProperty(
"hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
return properties;
}
}
Теперь, когда я использую create-drop, он удаляет мою таблицу Audit_log, которую я понятия не имею, почему и как это происходит, и для предотвращенияэто как разрешить.Пожалуйста, просветите меня по этому поводу.
Также, если есть какая-то другая вещь, которую мы можем использовать, например "update" .Но самое главное, почему он удаляет только мою таблицу audit_log.