3

Jax-RSとGSONを使用してWebサービスを作成しています。現在、GSONはHibernateProxyオブジェクトを変換できません。いくつか質問があります。積極的な読み込みと遅延読み込みができるようにAPIを使用しています。熱心にロードしたいときは、Hibernate.initialize(...)を使用します。しかし、これはオブジェクトがプロキシされていないことを保証するものではないようですか?

では、どこで、いつ、どのようにオブジェクトのプロキシを解除しますか?また、オブジェクトがプロキシ解除する必要のある他のオブジェクトにも関連している可能性がある場合、これにどのように対処しますか?

4

1 に答える 1

2

サンプルコードは次のとおりです。

public <P> List<P> unproxy(Collection<P> objects) {
    Session session = sessionFactory.getCurrentSession();
    List<P> result = new ArrayList<P>();
    for (P t : objects) {
        Object unproxied = ((SessionImplementor)session).getPersistenceContext().unproxy(t);
        result.add((P) unproxied);
    }
    return result;
}
于 2013-11-26T06:40:51.150 に答える