Hibernate が管理するオブジェクトのテーブル名をイントロスペクションで取得したい (lazy)。
これは異常な必要性です (Hibernate はそれを抽象化することになっています) が、本当に必要だとしましょう...
オブジェクトのタイプは (...) で、クラス (...) に含まれる注釈が含まれていません
プロキシのプロキシを解除する必要があります。以前の回答(Bozhoから)からの小さな方法を次に示します。
public static <T> T initializeAndUnproxy(T var) {
if (var == null) {
throw new IllegalArgumentException("passed argument is null");
}
Hibernate.initialize(var);
if (var instanceof HibernateProxy) {
var = (T) ((HibernateProxy) var).getHibernateLazyInitializer()
.getImplementation();
}
return var;
}
Hibernate フォーラムの Converting proxy object to the real thingも参照してください。