Я использую данные пружины с базой данных H2, и она не создает таблицы базы данных для моих объектов сущности.
application.properties
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:file:~/app_db
spring.datasource.username=sa
spring.datasource.password=sa
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=create
DomainApplication.java
@SpringBootApplication
@Import(DefaultPersistenceConfig.class)
@EntityScan(basePackages = {"com.sample.Domain.modal"})
public class DomainApplication {
public static void main(String[] args) {
SpringApplication.run(DomainApplication.class, args);
}
}
DefaultPersistanceConfig:
@Configuration
@EnableJpaRepositories(basePackages = {"com.sample.Domain.model" }, entityManagerFactoryRef = "defaultEntityManagerFactory", transactionManagerRef = "defaultTransactionManager")
@EnableTransactionManagement
public class DefaultPersistenceConfig {
@Autowired
public DataSource defaultDataSource;
@Bean
@Primary
@Qualifier("defaultEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean defaultEntityManagerFactory(EntityManagerFactoryBuilder builder) {
return builder.dataSource(defaultDataSource).persistenceUnit("hib-unit")
.packages("com.sample.Domain.model").build();
}
@Bean
@Primary
@Qualifier("defaultTransactionManager")
public PlatformTransactionManager defaultTransactionManager(EntityManagerFactory emf) {
return new JpaTransactionManager(emf);
}
}
Класс сущности:
@Entity
@Table(name = "GENERAL_LEDGER_TRANSACTION")
public class GeneralLedgerTransaction implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id = 0L;
....
Интерфейс репозитория JPA:
@Repository
public interface GeneralLedgerTransactionRepository extends JpaRepository<GeneralLedgerTransaction, Long> {
}
Когда я запускаю приложение и делаю остальной вызовконтроллер для извлечения данных из хранилища должен возвращать пустой массив, но я продолжаю получать сообщение об ошибке ниже.
org.h2.jdbc.JdbcSQLException: таблица "GENERAL_LEDGER_TRANSACTION" не найдена;Оператор SQL: выберите ... из GENERAL_LEDGER_TRANSACTION generalled0_ [42102-197] в org.h2.message.DbException.getJdbcSQLException (DbException.java:357) ~ [h2-1.4.197.jar: 1.4.197] ...