As a baseline I'm using the Spring Boot demo Accessing Data JPA.
My goal is to be able to view the persisted entities using the h2 console. I'm able to run the application with Maven, but when I subsequently connect with the h2 console, the database is empty.
If I set spring.jpa.hibernate.ddl_auto=none then the application does not run, so I know that this value is being picked up from src/main/resources, however it I set it to create or update, the database is still empty at the end of the mvn spring-boot:run run.
In the past versions of Spring and Hibernate I have set auto_dll=create, and Hibernate has created the database, if it did not already exists. Does this no longer work?
This is what the updated example application looks like, minus import declarations:
@Configuration @EnableAutoConfiguration public class Application { @Bean public DataSource dataSource() { HikariConfig config = new HikariConfig(); config.setDriverClassName("org.h2.Driver"); config.setJdbcUrl("jdbc:h2:file:~/db1"); config.setUsername("sa"); config.setPassword(""); return new HikariDataSource(config); } public static void main(String[] args) { ConfigurableApplicationContext context = SpringApplication.run(Application.class); CustomerRepository repository = context.getBean(CustomerRepository.class); // save a couple of customers repository.save(new Customer("Jack", "Bauer")); repository.save(new Customer("Chloe", "O'Brian")); repository.save(new Customer("Kim", "Bauer")); repository.save(new Customer("David", "Palmer")); repository.save(new Customer("Michelle", "Dessler")); // fetch all customers Iterable<Customer> customers = repository.findAll(); System.out.println("Customers found with findAll():"); System.out.println("-------------------------------"); for (Customer customer : customers) { System.out.println(customer); } System.out.println(); // fetch an individual customer by ID Customer customer = repository.findOne(1L); System.out.println("Customer found with findOne(1L):"); System.out.println("--------------------------------"); System.out.println(customer); System.out.println(); // fetch customers by last name List<Customer> bauers = repository.findByLastName("Bauer"); System.out.println("Customer found with findByLastName('Bauer'):"); System.out.println("--------------------------------------------"); for (Customer bauer : bauers) { System.out.println(bauer); } context.close(); } } TIA, - Ole