2012-03-27 3 views
1

私が代わりに通常のドメインクラス 例の列挙型にテーブルを型マップの例をたくさん見ました:ユーザードメインクラスとuserTypes列挙型(オス/メス) と私は違いが何であるかを知りたい、と利点をまたは通常のドメインクラスではなくenumを使用するためのケースを使用します。hibernateで型テーブルをマップするためにenumを使用するのはなぜですか?

答えて

0

ルックアップテーブルはドメインオブジェクトではないため、ドメインオブジェクトに付随する手荷物は必要ありません。ルックアップテーブルエントリは、エンティティのやり方と同じようにIDを持たないため、IDやシーケンスを入力する必要はありません。列挙型を使用すると、ルックアップテーブルの値を取得するだけでクエリを実行する必要はありません。

+0

このような場合にドメインテーブルではなく列挙型を使用するメリットはありますか?そのような場合にドメインを使用することは悪い習慣ですか?そして、もし私が文字列ではなくidとして型を格納したいのであれば、私に例のリンクを教えてもらえますか? –

+0

@fresh_dev:指定した序数または他のコードを使用することができます。文字列値を使用する必要はありません。 GORMでは、序数のenumTypeを指定することができます。または、enumにIdプロパティを追加して、Hibernateがそれを使用することもできます。 –

+0

ここにhttp://stackoverflow.com/questions/3396564/hibernate-enum-mapping-using-annotaionsの例があります。DBの文字列型の値はどのように保存されますか?この場合のIDの型を保存したいのですが? –

関連する問題