从代理对象获取类

时间:2011-03-23 13:39:14

标签: java jpa

我有以下代码。当我调用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

1 个答案:

答案 0 :(得分:2)

我可能错了......但实际上你把你的实体放到函数中,只是为了让它的类和id再次找到它然后删除它?我猜想只是放弃这条线:

entity = (T)getEntityManager().find(entity.getClass(), entity.getId());

它应该有用。