0

GROUPS という名前のテーブルがあり、列GROUP_IDがあり、その値は

GRP001、GRP002、GRP003

等々。新しい行を挿入するたびに、(現在の) GROUP_ID= (highest)GROUP_ID+ 1 で挿入する必要があります。たとえば、最高の GROUP_ID= GRP003 の場合、新しい行を挿入するときに新しい GROUP_ID GRP004 を生成する必要があります。

Javaを使用してこれを行うにはどうすればよいですか?

現在、プログラムでStruts 2とともにHibernateを使用しています

休止状態を使用してこれに対処する方法はありますか? または、追加のコードを記述してテーブルをロックし、db で最大 Id をチェックして (そしてそれをインクリメントして)、最後にロックを解放する必要がありますか?

4

1 に答える 1

1

これに似た問題を一度解いた記憶があります。私がしたことは、休止状態でサポートされているカスタムの主キー ジェネレーターを作成することでした。

この男はここでそれを明確に説明しています:「カスタムHibernate Primary Key Generator」

基本的には実装するだけorg.hibernate.id.IdentifierGeneratorで、すべて設定する必要があります。

上記の例で実装されたソリューションはデータベースに依存することに注意してください。しかし、オーバーエンジニアリングよりも常識が優先されるべき場合もあると思います。

于 2013-03-31T16:57:02.643 に答える