JPAでデータベースを使おう! (2/5)
作成:2014-06-28 10:52
更新:2014-06-28 10:52
更新:2014-06-28 10:52
■エンティティ・クラスを作成しよう
では、データベースのためのプログラムを作りましょう。JPAでは、「エンティティ」と呼ばれるオブジェクトとしてデータベースのデータを扱います。これは、ごくシンプルなJavaのクラスで、保管する値をプロパティとして用意したものです。
下のリスト欄に、簡単なサンプル「MyData」クラスのソースコードを挙げておきましょう。ここでは、id、name、mail、tel、ageといった値を保管するクラスを定義しています。いくつか補足しておきましょう。
●@Entity
クラスの宣言部分にこんなアノテーションが付いていますね。これは、このクラスがエンティティ・クラスであることを示すものです。これをつけるだけで、JPAは自動的にこのMyDataをエンティティとして認識します。
●@Id
idというフィールドに付けられていますね。これは、この項目がプライマリキーとなることを示します。エンティティ・クラスを作るときは、必ず<<r[@Idアノテーションを1つだけ設定しておくようにしましょう。
●@GeneratedValue
これも、プライマリキーに指定したidフィールドに付いているものです。これは、値を自動的に生成することを示します。プライマリキーの番号は、いちいちエンティティを作る度に手作業で設定するのは面倒ですから、自動的に割り振られるようにしておきます。
他、コンストラクタとtoStringがありますが、これらは別に必要というわけではありません。この先のサンプル作成で、「まぁ、あったほうがいいな」と思ったのでつけておいただけです。これすら面倒臭いなら別に書かなくてもかまいませんよ。
下のリスト欄に、簡単なサンプル「MyData」クラスのソースコードを挙げておきましょう。ここでは、id、name、mail、tel、ageといった値を保管するクラスを定義しています。いくつか補足しておきましょう。
●@Entity
クラスの宣言部分にこんなアノテーションが付いていますね。これは、このクラスがエンティティ・クラスであることを示すものです。これをつけるだけで、JPAは自動的にこのMyDataをエンティティとして認識します。
●@Id
idというフィールドに付けられていますね。これは、この項目がプライマリキーとなることを示します。エンティティ・クラスを作るときは、必ず<<r[@Idアノテーションを1つだけ設定しておくようにしましょう。
●@GeneratedValue
これも、プライマリキーに指定したidフィールドに付いているものです。これは、値を自動的に生成することを示します。プライマリキーの番号は、いちいちエンティティを作る度に手作業で設定するのは面倒ですから、自動的に割り振られるようにしておきます。
他、コンストラクタとtoStringがありますが、これらは別に必要というわけではありません。この先のサンプル作成で、「まぁ、あったほうがいいな」と思ったのでつけておいただけです。これすら面倒臭いなら別に書かなくてもかまいませんよ。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package com.tuyano.libro.bootapp; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.GeneratedValue; @Entity public class MyData { @Id @GeneratedValue protected Integer id; protected String name; protected String mail; protected String tel; protected int age; public MyData(){ super(); } public MyData(String name, String mail, String tel, int age){ super(); this.name = name; this.mail = mail; this.tel = tel; this.age = age; } public String toString(){ return "[name:" + name + ", mail:" + mail+ ", tel:" + tel + ", age:" + age + "]"; } }
※関連コンテンツ
「初心者のためのSpring Bootプログラミング入門」に戻る