我遇到了被审核实体的问题。 几年以来使用的方法几周后就不起作用了。
例如,我们得到了两个类
@Autited
class A {
B object;
}
@Audited
class B {
Integer id;
}
我们使用了方法
@Override
public E getRevisionByPkAndRevisionNumber(Long pk, Integer revisionNumber) {
final AuditQuery q =getAuditReader().createQuery().forEntitiesAtRevision(persistableEntityClass, revisionNumber).add(AuditEntity.id().eq(pk));
return (E) q.getSingleResult();
}
当我尝试获取实体A的修订版时,我得到了它但不是这个属性对象。 一个EntityNotFound被抛出然而它存在! 但是当我使用方法时
AuditReaderFactory.get(getEntityManager()).find(clazz, pk, revNumber);
一切正常,我得到了对象的所有属性......
find方法和createQuery有什么区别?