= Hibernate JPAとは? = J2EE5標準仕様のO/RマッピングのAPIとして、Java Persistence API(JPA)が策定されています。Hibernate JPAはHibernateをこのJPAに対応させたものです。JBoss5からは、EJB3対応を行うために、Hibernate JPAがJPAのコアとして利用されます。 = 利用方法 = Hibernate3.2、Hibernate Entity Manager 3.2から、それぞれ下記のjarファイルを抽出し、クラスパスに通します。 === Hibernate === * asm.jar * asm-attrs.jar * commons-collections-2.1.1.jar * commons-logging-1.0.4.jar * cglib-2.1.3.jar * hibernate3.jar * jboss-common.jar * dom4j-1.6.1.jar * jta.jar === Hibernate Entity Manager === * ejb3-persistence.jar * hibernate-entitymanager.jar * hibernate-annotations.jar * javassist.jar = Tips = Hibernate JPAの利用方法については、他のWebページなりをご覧ください。ここでは、上級者向けのTipsを紹介します。 == 動的にAnnotated Classをロード == JPAで利用できるようにしたエンティティクラスは、通常persistence.xmlから読み込みます。例えば、次のように記述します。 {{{ org.hibernate.ejb.HibernatePersistence example.ejb3.Account example.ejb3.Item .... }}} しかし、これでは動的にクラスを読み込むことができません。動的に読み込みたい場合は、次のようにします。 {{{ Ejb3Configuration configuration = new Ejb3Configuration(); configuration.addAnnotatedClass(Account.class); configuration.addAnnotatedClass(Item.class); ... EntityManager em = configuration.createEntityManagerFactory().createEntityManager(); }}} また、hibernate.properties(もしくはhibernate.cfg.xml)でその他の設定を行う必要があります。 詳細は、下記のクラスを参照してください。 * http://anonsvn.jboss.org/repos/hibernate/trunk/HibernateExt/ejb/src/test/org/hibernate/ejb/test/ejb3configuration/TestCase.java == 統計情報の取得 == Hibernateには、エンティティクラス毎にCRUDの操作の統計情報を取るAPIが用意されています。このAPIを利用すると、パフォーマンスチューニング等で有用な情報を取得することができます。このAPIを利用するには次のようにします。 {{{ EntityManagerFactoryImpl factoryImpl = (EntityManagerFactoryImpl)factory; Statistics stat = factoryImpl.getSessionFactory().getStatistics(); String[] entities = stat.getEntityNames(); System.out.println("[dump]"); for(int i=0;i