メインコンテンツへスキップ
  1. Posts/

NetBeansでpersistence.xmlを生成してHibernateを使ったらはまった話

·436 文字·1 分
プログラミング Advent Calendar JPA Hibernate NetBeans
maruTA / Takayuki MARUYAMA
著者
maruTA / Takayuki MARUYAMA

※この投稿は、丸太式 Advent Calendar 2014の7日目です

現象

NetBeans 8.0.1でJPAの持続性ユニットをHibernateを使うようにして作成すると、EntityManagerFactoryでEntityManagerを作れない。
※Persistence Unitを正しく指定しても、見つからない旨の例外が発生する

原因

NetBeansが生成するHibernate向けのpersistence.xmlの内容で、providerorg.hibernate.ejb.HibernatePersistenceが設定されるが、このクラスは@Deprecatedでありなにやら挙動が違うらしい。

対応

persistence.xmlのproviderに、org.hibernate.jpa.HibernatePersistenceProviderを設定する。
このクラスは、org.hibernate.ejb.HibernatePersistenceのJavadocに記載されている、代替となるクラスらしい。