2012-02-07 13 views
2

JPA 2を通してHibernateを使用するスタンドアロンのJavaアプリケーション(バッチ)を構築しました。 正常に動作しますが、ログにこの警告が常に表示されます。Hibernate - 理解できない警告

私はgoogledと運のない直接ソースコードを読んだ。

WARN org.hibernate.type.TypeFactory TypeFactory.java:69  Scoping types to session factory [email protected] after already scoped [email protected] 

どういう意味ですか?ソースから直接

+0

同じタイプを使用する複数のファクトリを定義していますか? – MahdeTo

+0

実際、新しいエンティティをセッションに動的に追加します。 – Stephan

答えて

2

あなたは(セッションファクトリがすでに設定されている)を2回のセッションファクトリを設定したときにこれがあります。ロギングをトレースに設定し、「スコープタイプをセッションファクトリに設定する」と表示されたら、もう一度設定してください。問題は発生しませんが、理想的なシナリオではAPIのように見えます今まで一度工場を設立しました。

+0

実際、私は構成オブジェクトを作成し、新しいエンティティを追加することによってそれを継続的に再利用していました。新しいエンティティを追加するたびに新しい設定を作成することで、私の問題が解決されます。 – Stephan

1

public final class TypeFactory implements Serializable { 
    private static final Logger log = LoggerFactory.getLogger(TypeFactory.class); 

    private final TypeScopeImpl typeScope = new TypeScopeImpl(); 

    public static interface TypeScope extends Serializable { 
     public SessionFactoryImplementor resolveFactory(); 
    } 

    private static class TypeScopeImpl implements TypeFactory.TypeScope { 
     private SessionFactoryImplementor factory; 

     public void injectSessionFactory(SessionFactoryImplementor factory) { 
      if (this.factory != null) { 
       log.warn("Scoping types to session factory {} after already scoped {}", this.factory, factory); 
      } 
      else { 
       log.trace("Scoping types to session factory {}", factory); 
      } 
      this.factory = factory; 
     } 

...

+0

どのようなスコープがありますか?これは、異なる工場のスコープタイプに対してエラーですか? – Stephan

+0

私はソースがあなたに "問題"を明らかにするかもしれないと思った! – vulkanino

関連する問題