Мы используем Hibernate Aerverse и иметь следующую ситуацию:
класс BusinessObjectType
и класс Идентификация
со ссылкой на BusinessObjecttype
:
@Entity
@Table( name = "ID_IDENTITY" )
@Audited
public class Identity {
@ManyToOne
@JoinColumn( name = "BO_TYPE_ID" )
@IndexColumn( name = "INDEX_BO_BO_TYPE" )
private BusinessObjectType businessObjectType;
[…]
}
Затем мы запрашиваем для всей версии личности с:
AuditQuery auditQuery = auditReader.createQuery().forRevisionsOfEntity(
Identity.class,
false,
true );
auditQuery.add( AuditEntity.id().eq( dbid ) );
@SuppressWarnings( "unchecked" )
List< Object[]> history = (List< Object[]>) auditQuery.getResultList();
, если хранящаяся идентичность не имеет BusinessObjectType
(т. Е. BusinessObjectType
и был нулем) все Работает как очарование.
Если у лиц был BusinessObjecttype! = Null
, мы получаем исключение «улучшение Javassist»:
Javassist Enhancement failed: ch.ethz.id.wai.baseclasses.BusinessObjectType
Ошибка, похоже, связана с тем, чтобы оказаться, пытаясь создать бизнес -OnsobjectType, но я на самом деле не Посмотрите, что проблема может быть (гибернация не имеет проблем с обоими объектами, если мы не используем аудиторскую службу).
Причина исключения составляет
java.lang.InstantiationException: ch.ethz.id.wai.baseclasses.BusinessObjectType_$$_javassist_49
без следа стека.
Любой намек на то, что может быть проблема?