Hibernate - OGM [PersistenceUnit: person] konnte Nicht erstellt Hibernate SessionFactory
erhalte ich eine folgende Fehlermeldung
Exception in thread "main" javax.die Persistenz.PersistenceException: [PersistenceUnit: person] konnte Nicht erstellt Hibernate SessionFactory
bei org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1249)
bei org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access$600(EntityManagerFactoryBuilderImpl.java:120)
bei org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:860)
bei org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
bei org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425)
bei org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849)
bei org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:75)
bei org.hibernate.ogm.jpa.HibernateOgmPersistence.createEntityManagerFactory(HibernateOgmPersistence.java:63)
bei javax.die Persistenz.Die Persistenz.createEntityManagerFactory(Persistence.java:55)
bei javax.die Persistenz.Die Persistenz.createEntityManagerFactory(Persistence.java:39)
bei com.ihappyk.utility.Utility.setUpEntityManagerFactory(Dienstprogramm.java:11)
bei com.ihappyk.Arbeit.PersonWorker.main(PersonWorker.java:14)
Verursacht durch: org.hibernate.MappingException: Konnte nicht instanziiert id-generator [entity-name=com.ihappyk.Modell.Person]
bei org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:123)
bei org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:225)
bei org.hibernate.intern.SessionFactoryImpl.(SessionFactoryImpl.java:323)
bei org.hibernate.cfg.- Konfiguration.buildSessionFactory(Configuration.java:1859)
bei org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857)
... 9 mehr
Verursacht durch: org.hibernate.HibernateException: Unerwartete Rückkehr type [java.lang.Lang] für die Konvertierung der UUID
bei org.hibernate.id.UUIDGenerator.konfigurieren(UUIDGenerator.java:111)
bei org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:117)
... 13 weitere
Utilty.java
public class Utility {
private static EntityManagerFactory entityManagerFactory;
//@BeforeClass
public static EntityManagerFactory setUpEntityManagerFactory() {
entityManagerFactory = Persistence.createEntityManagerFactory( "person" );
return entityManagerFactory;
}
//@AfterClass
public static void closeEntityManagerFactory() {
entityManagerFactory.close();
}
}
Persistant Class
@Entity
public class Person {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private long id;
private String firstName;
private String lastName;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Person(){
}
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
}
main-Klasse
public class PersonWorker {
public static void main(String[] args) {
//TODO Auto-generated method stub
EntityManagerFactory emf = Utility.setUpEntityManagerFactory();
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
//create a Person
Person bob = new Person( "Bob", "McRobb" );
em.persist( bob );
em.getTransaction().commit();
em.close();
emf.close();
}
}
persistance.xml
<?xml version="1.0"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="person" transaction-type="JTA">
<provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
<class>com.ihappyk.model.Person</class>
<properties>
<property name="hibernate.ogm.datastore.provider" value="mongodb" />
<property name="hibernate.ogm.datastore.database" value="hibernateOGM" />
<property name="hibernate.ogm.datastore.host" value="127.0.0.1" />
<property name="hibernate.ogm.datastore.port" value="27017" />
<property name="hibernate.ogm.datastore.provider" value="org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider"/>
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform"/>
</properties>
</persistence-unit>
</persistence>
eclipse
Projekt-management. Sollten Sie explizit markieren Sie Ihre persistence.xml
Hinzugefügt werden, zu bauen.Ya ich so konfiguriert haben, dass es in den build-Pfad des Projektes
InformationsquelleAutor ihappyk | 2015-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Root exception sagt alles:
Verwendung einer UUID, id-generator auf eine Art, die es nicht unterstützt. Sollten Sie verwenden
String
stattLong
in diesem Fall.seine immer noch die gleichen , unfähig zu bauen hibernateSession Fabrik
InformationsquelleAutor Gunnar
set "create-drop"
InformationsquelleAutor ethemsulan
Erstens sollten Sie teilen Ihr den kompletten stacktrace über die Ausnahme und die persistence.xml Inhalt. Dann wird meiner Meinung nach basiert auf, was ich sehe, das problem könnte sein, dass Sie nicht erklärt haben, eine Persistenz-provider, in Ihrem persistence.xml. In der Tat, wenn Sie die Entwicklung in einem nicht-container-managed envirorment müssen Sie erklären, eine Persistenz-provider.
InformationsquelleAutor Skizzo
Ich weiß nicht, ob das problem noch besteht, aber ich dachte, Sie haben, um die persistence.xml Datei in src/main/META-INF-Ordner. Ich sehe, Sie setzen es in src/META-INF. Vielleicht ist das Problem? und natürlich die Entitäten aus, die Sie verknüpfen möchten, gehören in src/main Ordner, auch 🙂
InformationsquelleAutor Ruthi Ruth