アプリケーションが開始する前に初期データベースデータをロードするための最良の方法は何ですか?私が探しているのは、H2データベースにデータを入力するものです。
たとえば、/ usersにアクセスしてユーザーにアクセスできるドメインモデル「ユーザー」がありますが、最初はデータベースにユーザーがいないため、ユーザーを作成する必要があります。とにかくデータベースにデータを自動的に入力する方法はありますか?
現時点では、コンテナーによってインスタンス化され、ユーザーを作成するBeanがあります。
例:
@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"));
}
}
しかし、それが最善の方法であるかどうかは非常に疑問です。またはそれは?
data.sql
したりschema.sql
、初期化データに追加したりします。これはすべて、リファレンスガイドに記載されています(私はこれを読むことをお勧めします)。