解決a different object with the same identifier value was already associated with the session錯誤
首先我的問題是沒有給主鍵指派,如下面代碼,dc是我new出來的對象,一開始我并沒有加這一行代碼dc.setDataCenterID(dcList.get(0).getDataCenterID()); ,因為我并不想修改它,但為什麼會出 different object with the same identifier value was already associated with the session錯誤(在hibernate中同一個session裡面有了兩個相同辨別但是是不同實體),我還搞不太清楚,個人猜想是hibernate架構中的一級緩存問題,具體原因還待研究 //T_DC_DataCenterBaseInfo_KeyUtil.dataCenterID = dataCenter.getDataCenterID(); dc.setDataCenterID(dcList.get(0).getDataCenterID()); dc.setDataCenterName(dataCenter.getDataCenterName()); dc.setDataCenterType(dataCenter.getDataCenterType()); dc.setDataCenterManager(dataCenter.getDataCenterManager()); dc.setDataCenterDesc(dataCenter.getDataCenterDesc()); dc.setDataCenterContact(dataCenter.getDataCenterContact()); dc.setDataCenterTel(dataCenter.getDataCenterTel()); dao.updateEntity(em, dc); return dc; -------------------------------------------------------- Hibernate 疑難異常及處理
|