Word と State の 2 つのテーブルがあり、State には ID と CurrentState の 2 つの列が含まれています。3 つの静的行は 1-Active、2-InActive、3-Other Word が行を追加するテーブルです。ID、Value、Description、CurrentState の 4 つの列があります。currentState 列に State への外部キーがあります。これは、Word を作成し、currentState フィールドを設定して永続化する作業コードです。
Word word = new Word();
word.setValue("someWord");
word.setDescription("some description for this word");
State state = new State(1,"Active");
word.setState(state);
worddao.saveOrUpdate(word);
問題は、これが正しく見えないことです。有効な State 行を指す Word を作成できるように、State インスタンスを作成するためのベスト プラクティスは何ですか。ここで列挙はオプションですか?つまり、誤って ID = 5 の State を作成し、外部キー制約に違反する可能性があるということです。そうならないためにも、まずはこれを防ぎたいですよね。何か案は?