2016-03-22 8 views
1

JPA経由でたくさんのオブジェクトをmysql/myisamテーブルに挿入する最も良い方法は何ですか?例JPA eclipselink、mysql/myisam bulik insert

for (DataObject entity : dtoList) { 
        try { 

         em.getTransaction().begin(); 

         System.out.println("Saving : backend " + count); 
         entity.setInsertdate(new Date(System.currentTimeMillis())); 
         entity.setUpdatedate(new Date(System.currentTimeMillis())); 
         entity.setStatus(CommonConstants.ACTIVATED); 
         //System.out.println("Real Save one: "); 
         System.out.println("Persists : backend "); 
         em.persist(entity); 
         em.getTransaction().commit(); 

ため

はMyISAMテーブルでは動作しません。 myisamはトランザクションをサポートしていませんが、JPAコードから一括挿入するにはどうすればよいでしょうか?

答えて

0

ソリューションは簡単です

おかげでちょうど存続後

em.flush(); 

を追加しました。

+0

_commit_は_flush_を実行するため、無意味です。投稿されたコードで1トランザクションあたり1オブジェクトをコミットしています。おそらく、トランザクションの中でオブジェクトループを持つことを意図したものであり、トランザクションの外側ではありません –

関連する問題