を「Javassistの強化に失敗しました」 IDのすべてのバージョンについて:休止Enversと私たちは、次のような状況を休止Enversを使用して持っている例外
AuditQuery auditQuery = auditReader.createQuery().forRevisionsOfEntity(
Identity.class,
false,
true);
auditQuery.add(AuditEntity.id().eq(dbid));
@SuppressWarnings("unchecked")
List< Object[]> history = (List< Object[]>) auditQuery.getResultList();
保存されたIDにBusinessObjectType
(つまり、businessObjectType
はnullで、すべてが魅力的です)
アイデンティティがbusinessObjectType != null
は、我々の例外を「Javassistの強化に失敗しました」を取得した場合:
Javassist Enhancement failed: ch.ethz.id.wai.baseclasses.BusinessObjectType
エラーがBusinessObjectTypeをインスタンス化しようとしているEnversに関連しているようだが、私は本当に何の問題が表示されません(AuditQueryを使用しない場合、Hibernateは両方のオブジェクトに問題はありません)。
例外の原因は、スタックトレースを持たない
java.lang.InstantiationException: ch.ethz.id.wai.baseclasses.BusinessObjectType_$$_javassist_49
です。
問題の原因は何ですか?
フェッチがデフォルトです。SELECT。コンストラクタは公開されていませんでした。ありがとう。私は、なぜEnversがプレーンなHibernateよりも多くのインスタンスを生成したいのか理解しなければなりません。 – Matteo
なぜデフォルトのコンストラクタを 'public'にする必要がありますか?私は、同じ容疑者を持っている潜在的に矛盾する答えは[こちら](http://stackoverflow.com/questions/2935826/why-does-hibernate-require-no-argument-constructor#comment9688725_2971717) –