我为我的应用程序创建了一个 Mapper 类,它提供了一个简单的使用界面:
Destination destination = mapper.map(sourceObject, Destination.class);
//or just
mapper.map(sourceObject, destination);
Mapper 实例包含由 ClassPair 映射的转换器的映射:
class ClassPair() {
private Class sourceType;
private Class destinationType;
...
}
class Mapper {
private Map<ClassPair, Converter> converters;
...
}
问题是,当我尝试将持久实体转换为另一种类型时,我的映射器因 NPE 失败。这是因为持久化实体的类型不是该实体的原始类,而是生成的 HibernateProxy 实现。
我尝试过使用Hibernate.unproxy()方法,但它在所有应用程序中都占有一席之地。它确实有效,但是我认为这是一个非常糟糕的做法。
因此,我需要以某种方式确定实体的原始类。
守着一只汪
相关分类