著書「エンタープライズ アプリケーション アーキテクチャのパターン」で、Martin Fowler は、ソフトウェア開発、特に ORM に関連して一般的に見られる永続化パターンについて語っています。
Hibernate が最も厳密に準拠しているパターンはありますか?
著書「エンタープライズ アプリケーション アーキテクチャのパターン」で、Martin Fowler は、ソフトウェア開発、特に ORM に関連して一般的に見られる永続化パターンについて語っています。
Hibernate が最も厳密に準拠しているパターンはありますか?
Hibernate はいくつかのパターンを利用します:
Hibernate は ActiveRecord パターンに従いません。Hibernate が最も密接に準拠するパターンは、Datamapperパターンです。
デザイン パターンを明示的に探している場合は、Hibernate をアクティブ レコード パターンを実装するための派手な API と見なすことができます。
ソフトウェア エンジニアリングでは、アクティブ レコード パターンは、リレーショナル データベースにデータを格納するソフトウェアでよく見られる設計パターンです。Martin Fowler が彼の著書 Patterns of Enterprise Application Architecture で命名しました。このようなオブジェクトへのインターフェイスには、Insert、Update、Delete などの関数と、基になるデータベース テーブルの列に多かれ少なかれ直接対応するプロパティが含まれます。
アクティブ レコードは、データベース内のデータにアクセスするためのアプローチです。データベースのテーブルまたはビューはクラスにラップされます。したがって、オブジェクト インスタンスはテーブル内の 1 つの行に関連付けられます。オブジェクトの作成後、保存時に新しい行がテーブルに追加されます。ロードされたオブジェクトはデータベースから情報を取得します。オブジェクトが更新されると、テーブル内の対応する行も更新されます。ラッパー クラスは、テーブルまたはビューの各列のアクセサー メソッドまたはプロパティを実装します。
Hibernate は明らかにドメイン モデルです。ORM のオブジェクトはドメイン モデルであるため、それなしでは ORM を実行できません。