如何知道Hibernate是否在插入或更新後運行getHibernateTemplate().saveOrUpdate(object);
該方法無效!有一種方法可以檢查Hibernate方法.saveOrUpdate()是否插入或更新?
saveOrUpdate()方法執行以下操作:
- 如果對象是在這個會議上已經執着,什麼也不做
- 如果這個session中有另外一個對象具有同樣的標識符,拋出一個異常
- 如果對象沒有標識符屬性,save()它
- 如果對象的標識符具有賦值給新實例的值ated對象,保存()它
- 如果對象是由一個或版本化,並且版本屬性值是分配給一個新實例化的對象相同的值,保存()它
- 否則更新()對象
恐怕我總是要檢查的對象已經有一個「主鍵/ ID」前運行此方法,這是唯一的辦法?如果是,我怎樣才能以通用的方式獲得主鍵/ ID?
Serializable id = session.getIdentifier(entity);
或Object id = entityManagerFactory.getPersistenceUnitUtil().getIdentifier(entity);
??
感謝您的回答,但我通過檢查'id'atributte來結束它,在我的案例中,它出現在所有類中,實際上是主鍵:FieldID = entity.getClass()。getDeclaredField ID); id.setAccessible(真);' – edudoda