我有2個表,Word和狀態, 狀態包含2個列,ID和CurrentState,它的3個靜態行是1--活動,2- InActive,3-其他 Word是表我正在添加行。它有4個列,ID,Value,Description和CurrentState。 它有一個外鍵在列currentState 這是我創建一個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實例的最佳做法是什麼,以便我可以創建指向有效State行的Word。 Enumeration是一個選項嗎?我的意思是我可以意外地創建一個ID = 5的國家並且違反了外鍵約束。我想首先防止這種情況發生。有任何想法嗎?
是枚舉是一個選項!看到這個http://stackoverflow.com/questions/417062/enumerations-in-hibernate – bpgergo
枚舉是很好的選擇 - 但它是更加努力添加新的值。如果已經有不同的值的條件代碼,這不是一個問題。 – gkamal