残るデータベースアクセスとして、データの更新と削除があります。これらについてもまとめておきましょう。
●データの更新データの更新は、実はもう説明済みです。それは、「
saveAndFlush」あるいは「
save」です。データベースの場合、データの新規保存と、既にあるデータの更新は全く別の操作になりますが、リポジトリを使う場合、両者に違いはありません。
エンティティを引数にして
saveAndFlushを実行すると、そのエンティティがまだ保管されていなければ新規に保存をし、既に保管済みであるならそのエンティティの内容を更新します。
●データの削除リポジトリ.delete( id );
リポジトリ.delete( エンティティ );
データの削除は、まず削除したいデータのエンティティを取得し、そのID値やエンティティのインスタンスそのものを引数に指定して「
delete」を呼び出します。この他、全エンティティをまとめて削除する引数なしメソッド「
deleteAll」といったものも用意されています。
これで、データの作成・検索・更新・削除といった基本的なメソッドはすべてリポジトリに作成できるようになります。実際に簡単なメソッドを用意し、呼び出してみましょう。なにしろ、実際の処理を書かずにメソッドを作れるのですから、思った以上に簡単にデータベースアクセスできることがわかりますよ!