2009年12月15日火曜日

共通項目を追い出そう。

・作成日
・更新日
・論理削除フラグ

の類というのは、基本的にどのテーブルにも追加していたりしませんか?
こういった場合は、何度も書くのはプログラマとしてアレなので、一箇所に追いやりたいところ。

○追い出したクラス(エンティティではない)
@Embeddable
public class Basis implements Serializable
{
@Column(nullable = false)
@NotNull
private Date entry = new Date();

@Column(nullable = false)
@NotNull
private Date modify = new Date();

@Column(nullable = false)
@NotNull
private Boolean del = false;
}

○呼び出すエンティティ側
@Embedded
private Basis basis = new Basis();

継承するんじゃなくて@EmbeddedアノテーションでDIするというのが、肝ですね。

0 件のコメント:

コメントを投稿