概要
Domain(ドメイン)とは、値のとり得る範囲(定義域)のことです。 Domaでは、テーブルのカラムの値を、ドメインと呼ばれるJavaオブジェクトで扱います。
一般的なドメインについては、あらかじめ、Domaに組み込まれていますが、
アプリケーションごとに適切なドメインを独自に作成することを推奨します。
あらかじめ組み込まれているドメインクラスは、org.seasar.doma.domain
パッケージに具象クラスとして用意されています。
カスタムドメインクラスの作成
ドメインクラスは org.seasar.doma.domain.Domain
インタフェースを実装している必要があります。
このインタフェースを直接実装してもかまいませんが、通常は、 org.seasar.doma.domain
パッケージで提供される抽象クラスを継承することで簡単に作成できます。
以下の例では、 org.seasar.doma.domain.AbstractBigDecimalDomain
を継承して、給料を表すドメインクラスを作成しています。
package example; import java.io.Serializable; import java.math.BigDecimal; import org.seasar.doma.domain.AbstractBigDecimalDomain; public class Salary extends AbstractBigDecimalDomain<Salary> implements Serializable { private static final long serialVersionUID = 1L; public Salary() { super(); } public Salary(BigDecimal value) { super(value); } }
必要であれば、コンストラクタやsetInternal
メソッドで、より厳密に値のとりうる範囲を限定してください。
また、アプリケーションに固有の任意のメソッドを実装させることもできます。
org.seasar.doma.domain.Domain
インタフェースやその実装クラスの詳細についてはJavadocを参照してください。