1
我有以下代碼。當我調用remove時,我傳入了一個從entityManager.getReference獲得的代理。但是entity.getClass()失敗。我如何獲得代理從代理對象中獲取類
public <T extends BaseEntity> void remove(T entity) throws RemoveException {
//get the actual object
entity = (T)getEntityManager().find(entity.getClass(), entity.getId());
//delete the object
getEntityManager().remove(entity);
}
Unknown entity: com.merc.domain.EventLog_$$_javassist_3; nested exception is java.lang.IllegalArgumentException: Unknown entity: com.merc.domain.EventLog_$$_javassist_3
org.springframework.dao.InvalidDataAccessApiUsageException: Unknown entity: com.merc.domain.EventLog_$$_javassist_3; nested exception is java.lang.IllegalArgumentException: Unknown entity: com.merc.domain.EventLog_$$_javassist_3
我這樣做的原因是,如果對象不是持久的上下文而不是在上下文中加載它,然後刪除。不知道如何避免這種情況 – user373201 2011-03-23 14:33:09
這引發了一個問題,如果它不在上下文中,你會如何得到該對象? – Arne 2011-03-23 14:38:49
您正在與框架戰鬥...不要嘗試修復「刪除」方法,但找到並修復問題的原因。 – Arne 2011-03-23 14:44:27