[Seasar-user:11391] [Kuina-Dao] dao.persist(entity) で,主キー重複エラーを回避するには?
Applied_MATSUDA Masaaki
[E-MAIL ADDRESS DELETED]
2007年 11月 1日 (木) 18:10:12 JST
TigerCatです.お世話様です.
さて,相変わらず低レベルな質問ですみません・・・
Kuina-Daoで,DBのレコードをupdateする際に,以下のような
例外が出てしまいます.
javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException:
a different object with the same identifier value was already associated with
the session: [hoge.entity.Fuga#1]
Serviceクラスのコードではこのようなことをやっています.
synchronized public void insertOrUpdate(String code, Integer yyy) {
Fuga fuga = new Fuga();
fuga.setCode(code); // 主キーなんですよこれが.
fuga.setXXX(Boolean.TRUE);
fuga.setYYY(yyy);
dao.persist(fuga);
}
codeが主キーなんですけれど,
updateしたくて,レコード上に既にある"1"とかを指定して
実行すると上記のどっかんです.
updateの際にはきっと注意事項があるのだと思うのですが・・・
ネットで調べてみましたが,うまく見当たらずで・・・
Hibernateの記事は多くヒットしましたが.
なにとぞご教示くださいませ.
Seasar-user メーリングリストの案内