0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BeanとDTO、Entity、Formについて

Last updated at Posted at 2025-01-01

はじめに

どうも、稲葉です。この記事では、BeanとDTO、Entity、Formについてまとめます。

Bean

Beanは次の要件を満たします。

  1. 引数がないコンストラクタを公開すること
  2. シリアライズが可能であること
  3. プロパティそのものは公開せず、アクセサメソッドを定義すること

DTO

DTO(Data Transfer Object)とは、Beanのうち、データの転送をするためのオブジェクトです。データストア・外部実体と情報の受け渡しをします。EntityやFormと命名されたクラスが使用される場合、データを転送する相手は外部システムです。DTOは責務が外部実体・データストアと情報をやり取りすることであるため、基本的にアクセサメソッド以外の処理を定義しません。

Entity

Entityとは、DTOあるいはBeanのうち、データストア、すなわちデータベースと情報の受け渡しをするためのオブジェクトです。データモデルのエンティティないしデータベースのテーブルと対応します。よって、プロパティの型は基本的にResultSetクラスのgetterの引数やPreparedStatementクラスのsetterの戻り値の型となります。

Form

Formとは、DTOあるいはBeanのうち、画面によって外部実体、つまりユーザと情報の受け渡しをするためのオブジェクトです。画面の入出力項目群と対応します。よって、プロパティの型は基本的にString型となります。

おまけ

データ層で使用するEntity、プレゼンテーション層で使用するFormではプロパティの型が制限されていたり、アクセサメソッド以外の処理を定義しなかったりします。そのため、オブジェクト指向プログラミングでは情報と処理をまとめたクラスを作成してアプリケーション層で使用することもあります。

おわりに

BeanとDTO、Entity、Formの関係をまとめると次のようになります。

Beanの種類 授受の相手 作成の単位
DTO データストア・外部実体、とくに外部システム 任意
Entity データストア テーブル
Form 外部実体のうち、ユーザ 入出力項目群
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?