0

4 つの値のいずれかになるエンティティがあり、これらの 4 つの状態のうちの 2 つに追加のコメントを含めることができる状況をモデル化する必要があります。

私の最初のアイデアは、2 つのメンバー フィールドを持つクラスを定義することでした。1 つは列挙型、もう 1 つは文字列です。Enum には 4 つの要素があります。しかし、値 2 と 3 でのみコメントを設定できるという制約もモデル化する必要があります。

それをどのようにモデル化しますか?JPAの4つの異なるエンティティと継承? または、上記の Enum の例のように?

どうもありがとうアンドレ

4

1 に答える 1

0

はい、あなたの解決策は大丈夫です。次のようにセッターを実装するだけです。

public void setComment(String comment) {
    if (state != State.STATE1 && state != State.STATE2) {
        throw new IllegalStateException("A comment can't be set when the state is " + state);
    }
}

継承を使用することはお勧めできません。エンティティが特定の型を持つ場合、別の型になることはできません。したがって、継承戦略では状態を変更することは不可能です。

于 2012-10-19T11:39:14.437 に答える