はじめに

Hibernate EntityManager?は、Hibernateを利用したEJB3 Persistence APIの実装です。EJB3のO/Rマッピング機能を利用することができます。

必要なもの

Hibernateを利用してEJB3 Persistence APIを利用するには、hibernateのサイトからダウンロードできる次のソフトウェアが必要になります。

  • Hibernate3.1rc1
  • Hibernate EntityManager3.1beta4

EntityManager? 3.1beta4はHibernate3.1rc2、rc3では動作しないので注意してください。Hibernate3.1rc1からは下記のjarが必要です。

  • asm.jar
  • asm-attrs.jar
  • commons-collections-2.1.1.jar
  • commons-logging-1.0.4.jar
  • hibernate3.jar
  • jboss-common.jar
  • dom4j-1.6.1.jar
  • jta.jar

EntityManager?からは下記のjarが必要です。

  • ejb3-persistence.jar
  • hibernate-entitymanager.jar
  • hibernate-annotations.jar
  • javassist.jar

統計情報の取得

Hibernateには、エンティティクラス毎にCRUDの操作の統計情報を取るAPIが用意されている。下記のようにすると、そのAPIを利用して、統計情報を出力できる。

コード

EntityManagerFactoryImpl factoryImpl = (EntityManagerFactoryImpl)factory;
Statistics stat = factoryImpl.getSessionFactory().getStatistics();
String[] entities = stat.getEntityNames();
System.out.println("[dump]");
for(int i=0;i<entities.length;i++){
  System.out.println(entities[i]+":"+stat.getEntityStatistics(entities[i]));
}

実行結果

org.ultimania.ejb.Purchaseorder:EntityStatistics
 [loadCount=0,updateCount=0,insertCount=0,deleteCount=0,fetchCount=0,optimisticLockFailureCount=0]
org.ultimania.ejb.Orderdetail:EntityStatistics
 [loadCount=0,updateCount=0,insertCount=0,deleteCount=0,fetchCount=0,optimisticLockFailureCount=0]
org.ultimania.ejb.Customer:EntityStatistics
 [loadCount=0,updateCount=0,insertCount=0,deleteCount=0,fetchCount=0,optimisticLockFailureCount=0]
org.ultimania.ejb.Item:EntityStatistics
 [loadCount=2,updateCount=0,insertCount=0,deleteCount=0,fetchCount=0,optimisticLockFailureCount=0]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-19 (火) 21:21:36 (5374d)