Gostaria de saber qual é a melhor maneira de carregar dados iniciais do banco de dados antes do aplicativo iniciar? O que estou procurando é algo que preencha meu banco de dados H2 com dados.
Por exemplo, eu tenho um modelo de domínio "Usuário". Posso acessar os usuários acessando / users, mas inicialmente não haverá usuários no banco de dados, então tenho que criá-los. Existe alguma maneira de preencher o banco de dados com dados automaticamente?
No momento, tenho um Bean que é instanciado pelo contêiner e cria usuários para mim.
Exemplo:
@Component
public class DataLoader {
private UserRepository userRepository;
@Autowired
public DataLoader(UserRepository userRepository) {
this.userRepository = userRepository;
LoadUsers();
}
private void LoadUsers() {
userRepository.save(new User("lala", "lala", "lala"));
}
}
Mas duvido muito que seja a melhor maneira de fazê-lo. Ou é?
data.sql
e / ouschema.sql
iniciará dados. Tudo isso está documentado no guia de referência (que eu sugiro que leia).