2011-08-06 8 views
8

JPA projesiyle hazırda bekletme geliştiriyorum ve H2 (Gömülü veritabanı) kullanarak çalışma persistence.xml dosyasını almaya çalışıyorum. Persistence.xmlH2 veritabanı ile JPA bağlantısı

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    version="1.0"> 

    <persistence-unit name="DefaultPersistenceUnit" 
     transaction-type="RESOURCE_LOCAL"> 

     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <class>entity.user</class> 
     <properties> 
      <property name="hibernate.connection.url" value="jdbc:h2:/~test" /> --> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"></property> 
      <property name="hibernate.connection.driver_class" value="org.h2.Driver" /> 
      <property name="hibernate.connection.password" value="admin" /> 
      <property name="hibernate.connection.username" value="admin" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

Ama benim bu olmuyor, hep

"EntityManagerFactory oluşturulamadı" hatası

EntityManagerFactory emf = Persistence.createEntityManagerFactory("DefaultPersistenceUnit"); 

alıyorum. Anyonw bana çalışma persistence.xml sağlayabilir mi?

+2

Hata mesajı sadece böyle bir şey mi veriyor? Daha ayrıntılı bir mesaj ve/veya yığın izi yok mu? Sınıfınız gerçekten entity.user mi? –

+1

'hibernate.connection.url 'gerçekten' jdbc: h2:/~ test'? jdbc: h2: file: ~/test; IFEXISTS = TRUE' daha makul görünüyor. – trashgod

+1

Ne [Hazırda bekleme sürümü] (http://www.h2database.com/html/tutorial.html#using_hibernate)? – trashgod

cevap

9

Bahar kullanıyor musunuz? Varsa, EntityManagerFactory bir kapsayıcı tarafından sağlanmadığı sürece bunu deneyebilirsiniz.

+0

Bu yaklaşımı tercih ediyorum çünkü fasulyeleri 'persistence.xml' işlevini değiştirmek yerine testler veya diğer yapılandırmalar (web veya bağımsız) için değiştirmek daha kolay. –