在一個學校項目中,我們使用的是EJB Session Bean, 這個EJB提供了簡單的服務,比如add,delete,modify,findAll,findbyId。這樣的方法是使用休眠4.0(添加 - > saveOrUpdate,修改 - > saveOrUpdate ...),並可用於客戶端EJB會話Bean /客戶端Hibernate會話交互?
我有兩個類:遊戲(id,description,category)和類別(id,title )。 一個類別也有一套遊戲。 使用身份生成器生成ID。數據庫使用的是mysql。
在客戶端 表單被應用程序用戶用來填寫關於遊戲(描述和類別)的信息在控制器中,我使用方法findById來獲取用戶選擇的類別,然後創建一個新的(SaveOrUpdate)
我注意到的第一個問題:在EJB中正確地生成了id,並且傳遞的遊戲被修改了,但是在客戶端遊戲中沒有id(我猜在客戶端和EJB之間傳遞對象不是通過引用)任何人都可以確認它?
第二個問題:當遊戲保存時,我嘗試將此遊戲添加到類別集合並更新此類別(也使用saveOrUpdate)。我得到異常org.hibernate.NonUniqueObjectException: 具有相同標識符值的不同對象已與會話 關聯,我不明白
任何人都可以幫助我嗎?
你能發表一些代碼嗎?沒有它,我無法真正幫助你。 – D180 2013-04-09 17:33:49