0

私はequalsを実装しました(lombokと私のビジネスキーを使用)。単体テストでは、単純なassertEqualsを実行したいのですが、返された(休止状態からの)オブジェクト関連オブジェクトはプロキシです。実際のエンティティを取得するにはどうすればよいですか?

4

1 に答える 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 に答える