【Java】Entityとは?サンプルコードも交えてご紹介!

この記事は約7分で読めます。
Entityとは?アイキャッチ画像

Javaでよく聞く言葉で、
Controller,、Service、Repository(、Dao)(、DTO)、Entity
があると思います。

オブジェクト指向では必須です。

今回はその中でも、Entity(エンティティ)について、サンプルコードを交えて
ご説明していきます。

Entity(エンティティ)とは?

Entityとは、データベースのテーブルそのもののことです。
厳密には、テーブルデータ1つ1つのことです。

ちなみにEntityは日本語で「実体」という意味です。

クラスを作成するときは、プロジェクトにもよるかとは思いますが、
テーブル名をクラス名に、フィールド各種はカラム名で、型も対応させれば
大丈夫です。
型に関しては、JavaとDBで対応させる必要がありますので、ご注意ください。

型について、詳しくはこちらのサイトをご覧ください。

メソッドは、フィールドそれぞれのGetterとSetterを生成するだけでEntityクラス完成です。

と、上記のようなことを言ってもイメージが湧きにくいかと思いますので、
サンプルコードで確認していきましょう。

以下では、サンプルコードのみと、
このサンプルコードのEntityクラスの作成手順を説明しているところに
分けています。

サンプルコード

環境

  • Eclipseバージョン:2022-12
  • チップ:Apple M2
  • OS:macOS Ventura バージョン13.1

DB定義

CREATE DATABASE ENTITY_TEST;

テーブル定義

CREATE TABLE ENTITY_TEST_TABLE 
(id INT NOT NULL
,full_name VARCHAR(255) NULL
,insert_date INT NULL
,PRIMARY KEY (id));

テーブルデータ

INSERT INTO ENTITY_TEST_TABLE (id, full_name ,insert_date) VALUES (1, 'エンティティ ダンプティ', 20240418);

INSERT INTO ENTITY_TEST_TABLE (id, full_name ,insert_date) VALUES (2, 'エンティティ ティティ', 20240418);

INSERT INTO ENTITY_TEST_TABLE (id, full_name ,insert_date) VALUES (3, 'エンティティ えん', 20240418);

INSERT INTO ENTITY_TEST_TABLE (id, full_name ,insert_date) VALUES (4, 'エンティティ ダ ヴィンチ', 20240418);

Entityクラスファイル

public class Entity {

	private int id;
	private String full_name;
	private int insert_date;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getFull_name() {
		return full_name;
	}

	public void setFull_name(String full_name) {
		this.full_name = full_name;
	}

	public int getInsert_date() {
		return insert_date;
	}

	public void setInsert_date(int insert_date) {
		this.insert_date = insert_date;
	}
}

Entityクラス作成手順

上記のサンプルコードを作成する手順をご説明します。

プロジェクトの作成は省略します。

クラスファイル作成

まずはクラスファイルを作成します。

作成したいフォルダの上で右クリックをして新規→その他を選択します。

Entity新規クラス作成

Java→クラス→次へ
を選択。

Entity新規クラス作成②

名前を入力し、
スーパークラスにjava.lang.Objectがデフォルトで入っているので、削除し
完了をクリック。

Entityクラスの作成③

すると、クラスが作成されます。

Entityクラスの作成④

クラスの内容については、こちらより。

データベース作成

今回はコマンド(ターミナル)にてMy SQLを使用して作成していきます。

まずはログインします。(ログインの過程は省略します)

そして以下のコマンドを実行します。

mysql> source /ルートディレクトリ/CREATE_DATABASE_ENTITY_TEST.sql;

その後、

mysql> show databases;

を実行すると、

showDatabases

きちんとデータベースが作成されているのが確認取れます。

テーブル作成

まずはデータベースを選択します。

mysql> use ENTITY_TEST;

あとは、データベース作成と同様です。

mysql> source /ルートディレクトリ/CREATE_TABLE_ENTITY_TEST_TABLE.sql;
mysql> show tables;
show tables

これでテーブル作成までできました。

データ挿入

ほぼ同じです。

mysql> source /ルートディレクトリ/INSERT_DATA.sql;
mysql> select * from ENTITY_TEST_TABLE;
ENTITY_TEST_TABLEのデータ抽出

データの挿入まで確認できました。

これらのデータ1つ1つがEntityです!

Entity作成

Javaとデータベースの型を対応させて、
クラスのカラム名をフィールド名に設定します。

Entityクラスセット

修飾子はprivateで設定します。

その後、GetterとSetterを生成します。
生成の仕方として、Lombokのアノテーションを用いて設定する方法もありますが、
今回はEclipseの機能を用いて、設定します。

上のタブの「ソース」を選択します。
その中の「getterおよびsetterの生成…」を選択します。

getterおよびsetterの生成

すると、どのフィールのに対してGetterとSetterを生成するのかの
画面が出ます。

今回はすべて生成したいので、すべて選択します。

getterおよびsetterの生成②

そして生成を押すと、
選択したフィールドのGetterとSetterが自動生成されます。

getterおよびsetterの生成③

少しフォーマットを整えたら、
Entityクラスの生成完了です。

このクラスのインスタンスを生成し、
1つ1つのデータの値を詰めていくことになります。

ちなみにフォーマットは
macの場合、cmd + shift + f
windowsの場合、ctrl + shift + f
で自動フォーマットされます。

自動フォーマットよく使うため、
覚えておくべきショートカットキーです。

他のショートカットキーが気になる方は、
こちらの記事もご覧ください。


Entityクラスは、Spring Data JDBCやSpring Data JPA、
JdbcTemplateなどで使用します。

これらの記事も合わせてご覧ください。