掲示板を作る: EntityとRepositoryの作成

データベースの利用の例として、掲示板を作成してみましょう。

まずは、EntityとRepositoryを作成します。

Entity(JPA Entity)とは、データベースにおける表の個別の行に対応するオブジェクトです。JPAではPOJO(Plain Old Java Object、ごく普通のJavaオブジェクト)にアノテーションを加えるだけで作成できます。今回は単純に、名前と本文だけを保存するようにしてみます。DatabaseConfig.javaの44行目でEntityを示すパッケージを指定しているので、そこにCommentクラスを作成します。

  • 10行目: @EntityアノテーションでEntityであることを示す。
  • 12〜14行目: JPAでは主キーが必要となる。@Idアノテーションで主キーを示す。また@GeneratedValueで値を自動生成することを示す。
  • 15行目: 名前を格納するフィールド。
  • 16行目: 本文を格納するフィールド。
  • 18〜32行目: nameとtextのgetter/setter。getter/setterはメニューから[Code]→[Generate]→[Getter and Setter]で自動生成できる。

このCommentクラスのインスタンスをデータベースに格納するには、Repositoryとよばれる、データベースへの操作を行うためのオブジェクトが必要です。RepositoryはSpring Data JPAに含まれるJpaRepositoryインターフェースを使うと簡単に作成することができます。JpaRepositoryインターフェースを継承することにより、データベースの操作に関するメソッドが自動的に生成されます。

DatabaseConfig.javaの24行目でRepositoryを示すパッケージを指定しているので、そこにCommentRepositoryインターフェースを作成します。

  • 10行目: @RepositoryアノテーションでRepositoryであることを示す。
  • 11、12行目: JpaRepositoryを継承する。型変数はEntityの型とそのEntityの主キーの型を指定する。基本的な機能(メソッド)は自動的に生成されるので、いまのところメソッド等の記述は必要ない。