| | 1 | = Hibernate JPAとは? = |
| | 2 | J2EE5標準仕様のO/RマッピングのAPIとして、Java Persistence API(JPA)が策定されています。Hibernate JPAはHibernateをこのJPAに対応させたものです。JBoss5からは、EJB3対応を行うために、Hibernate JPAがJPAのコアとして利用されます。 |
| | 3 | |
| | 4 | = Tips = |
| | 5 | Hibernate JPAの利用方法については、他のWebページなりをご覧ください。ここでは、上級者向けのTipsを紹介します。 |
| | 6 | |
| | 7 | == 動的にAnnotated Classをロード == |
| | 8 | JPAで利用できるようにしたエンティティクラスは、通常persistence.xmlから読み込みます。例えば、次のように記述します。 |
| | 9 | {{{ |
| | 10 | <persistence-unit name="em"> |
| | 11 | <provider>org.hibernate.ejb.HibernatePersistence</provider> |
| | 12 | <class>example.ejb3.Account</class> |
| | 13 | <class>example.ejb3.Item</class> |
| | 14 | .... |
| | 15 | }}} |
| | 16 | しかし、これでは動的にクラスを読み込むことができません。動的に読み込みたい場合は、次のようにします。 |
| | 17 | {{{ |
| | 18 | Ejb3Configuration configuration = new Ejb3Configuration(); |
| | 19 | configuration.addAnnotatedClass(Account.class); |
| | 20 | configuration.addAnnotatedClass(Item.class); |
| | 21 | ... |
| | 22 | EntityManager em = configuration.createEntityManagerFactory().createEntityManager(); |
| | 23 | }}} |