我已经实现了 equals(使用 lombok 和我的业务密钥)。在单元测试中,我想要一个简单的 assertEquals 但是返回的(从休眠)对象相关的对象是一个代理。我怎样才能得到实际的实体?
问问题
283 次
1 回答
0
您必须使用初始化程序。请参见下面的方法示例。在比较之前使用此方法以确保您没有比较代理。
public static <T> T initializeAndGetTargetObject(T entity) {
if (entity == null) {
throw new
NullPointerException("Entity passed is null");
}
Hibernate.initialize(entity);
if (entity instanceof HibernateProxy) {
entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer()
.getImplementation();
}
return entity;
}
于 2012-11-16T12:33:31.813 回答