2016-06-26 21 views
0

私はjava swing + hibernateを使用しています。スイングで休止状態を使用する方法がわかりません。続きログメッセージの繰り返しを繰り返す

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" 
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd "> 
<persistence-unit name="mypu"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <class>com.example.Student</class> 
    <!-- there are more entities --> 

    <properties> 
     <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> 
     <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mydb" /> 
     <property name="hibernate.connection.username" value="root" /> 
     <property name="hibernate.connection.password" value="root" /> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> 
     <property name="hibernate.hbm2ddl.auto" value="update" /> 
     <property name="hibernate.show_sql" value="true" /> 
    </properties> 
</persistence-unit> 

ない私が書き込みをしているか、いないのです確かに、私の持続性です。私は各エンティティクラスのためのDAO呼び出しを持っていて、それはのように見える

class StudentDAO { 
    private EntityManagerFactory emf; 
    private EntityManager em; 

    public StudentDAO() 
    { 
    emf = Persistence.createEntityManagerFactory("mypu"); 
    em = emf.createEntityManager(); 
    } 
} 

したがって、各DAOクラスは上記のコードを持っています。

プロジェクトを実行すると、次のメッセージがコンソールで約8〜10回表示されます。 なぜプロジェクトを実行する時間がかかります。

2016年6月26日9時46分13秒AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl 構成

はWARN:HHH000402:使用休止内蔵接続プール(ありません生産使用のため)2016年6月26日9時46分13秒AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator

INFO:!HHH000401:ドライバーを使用して[はcom.mysql.jdbc.Driver] URL [jdbc:mysql:// localhost:3306/mydb]にあります。 2016年6月26日午前9時46分13秒AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator

INFO:HHH000046:接続プロパティー:{ユーザー=ルート、パスワード= ****} 6月26、2016年9時46分13秒AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator

INFO:HHH000006:自動コミットモード:偽の2016年6月26日9時46分13秒AMのorg.hibernate .engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure

情報:HHH000115:接続プールの最大サイズ:20(最小= 1)2016年6月26日9時46分13秒org.hibernate.dialect.Dialect INFH:HHH000400: ダイアレクトの使用:org.hibernate.dialect.MySQL5Dialect Jun 26 、2016 9時46分13秒AM org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory

INFO:HHH000397:ASTQueryTranslatorFactory 2016年6月26日9時46分13秒AMを使用してorg.hibernate.tool.hbm2ddl.SchemaValidator検証する情報: HHH000229:2016年6月26日9:46:13 AM org.hibernate.tool.hbm2ddl.SchemaValidator検証情報:HHH000102: データベースのメタデータを取得する.hibernate.tool.hbm2ddl.TableMetadata

INFO:HHH000261:表が見つかった:mydb.student 2016年6月26日9時46分13秒AM org.hibernate.tool.hbm2ddl.TableMetadata INFO:HHH000037: カラム:[ID、名前、住所] 組織を。 hibernate.jpa.internal.EntityManagerFactoryRegistry addEntityManagerFactory

WARN:HHH000436:エンティティマネージャの工場名(mypu)はすでに登録されています。エンティティマネージャは、クラスタ化または不動態化された場合は、 プロパティ 'hibernate.ejb.entitymanager_factory_name' のユニークな値を指定して2016年6月26日9時46分13秒AM org.hibernate.ejb.HibernatePersistence logDeprecation

はWARN:HHH015016を:廃止予定のjavax.persistence.spi.PersistenceProviderが発生しました [org.hibernate.ejb.HibernatePersistence];代わりに [org.hibernate.jpa.HibernatePersistenceProvider]を使用してください。 2016年6月26日午前9時46分13秒AM org.hibernate.ejb.HibernatePersistence logDeprecation

はWARN:HHH015016:遭遇非推奨javax.persistence.spi.PersistenceProvider を[org.hibernate.ejb.HibernatePersistence]。代わりに [org.hibernate.jpa.HibernatePersistenceProvider]を使用してください。 2016年6月26日午前9時46分13秒AM org.hibernate.ejb.HibernatePersistence logDeprecation

はWARN:HHH015016:遭遇非推奨javax.persistence.spi.PersistenceProvider を[org.hibernate.ejb.HibernatePersistence]。代わりに [org.hibernate.jpa.HibernatePersistenceProvider]を使用してください。 2016年6月26日午前9時46分13秒AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation INFO:HHH000204:処理 PersistenceUnitInfo [名:mypu

、メッセージ上に表示されている理由何度も? ありがとうございました!

+0

あなたはどんな 'Exception'を取得しているため、下記のリンク?彼らはただあなたが無視することができることを警告しています –

+0

例外はありません...しかし、実行可能なjarを実行する時間がかかると問題thats –

答えて

1

各DAOでは、新しいEntityManagerFactoryを作成しています。要求ごとに新しいEntityManagerFactoryを作成したり、操作ごとに新しいEntityManagerFactoryを作成したりしないでください。ですからまず、あなたのために1つのEntityManagerFactoryを作成し、各操作でそれを使用してみてください。 EntityManagerFactoryを作成する理由は高価です。

エンティティマネージャファクトリの作成時に表示されるログは、emf作成のプロセスを示しています。 emfを一度作成すると、そのログは一度だけ取得されます。

EntityManagerFactoryを1つだけ作成して使用するようにしてください。アプリはすぐに動作します。

PFBいくつかの詳細

How frequently should I create an EntityManager?