GVKun编程网logo

Hibernate-OGM [PersistenceUnit:person]无法建立Hibernate SessionFactory(无法建立inventory)

16

在这篇文章中,我们将带领您了解Hibernate-OGM[PersistenceUnit:person]无法建立HibernateSessionFactory的全貌,包括无法建立inventory的相

在这篇文章中,我们将带领您了解Hibernate-OGM [PersistenceUnit:person]无法建立Hibernate SessionFactory的全貌,包括无法建立inventory的相关情况。同时,我们还将为您介绍有关ClassNotFoundException:组织hibernate.collection.PersistentSet + Hibernate 5.4、Controller中的调音方法[PersistenceUnit:默认]无法建立Hibernate SessionFactory、Controller中的调音方法。[PersistenceUnit:默认]无法建立Hibernate SessionFactory、Hibernate 4 升级到 Hibernate 5 的时候 SessionFactory 不能使用的知识,以帮助您更好地理解这个主题。

本文目录一览:

Hibernate-OGM [PersistenceUnit:person]无法建立Hibernate SessionFactory(无法建立inventory)

Hibernate-OGM [PersistenceUnit:person]无法建立Hibernate SessionFactory(无法建立inventory)

我收到以下错误

Exception in thread “main” javax.persistence.PersistenceException: [PersistenceUnit: person] Unable to build Hibernate SessionFactory at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1249) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access$600(EntityManagerFactoryBuilderImpl.java:120) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:860) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:75) at org.hibernate.ogm.jpa.HibernateOgmPersistence.createEntityManagerFactory(HibernateOgmPersistence.java:63) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) at com.ihappyk.utility.Utility.setUpEntityManagerFactory(Utility.java:11) at com.ihappyk.work.PersonWorker.main(PersonWorker.java:14) Caused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=com.ihappyk.model.Person] at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:123) at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:225) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:323) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) … 9 more Caused by: org.hibernate.HibernateException: Unanticipated return type [java.lang.Long] for UUID conversion at org.hibernate.id.UUIDGenerator.configure(UUIDGenerator.java:111) at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:117) … 13 more

实用工具

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();    }}

坚持班

@Entitypublic 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;        }    }

主班

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>

答案1

小编典典

根本异常说明了一切:

Caused by: org.hibernate.HibernateException: Unanticipated return type [java.lang.Long] for UUID

您正在使用不支持的UUID ID生成器。在这种情况下,应使用String代替Long

ClassNotFoundException:组织hibernate.collection.PersistentSet + Hibernate 5.4

ClassNotFoundException:组织hibernate.collection.PersistentSet + Hibernate 5.4

如何解决ClassNotFoundException:组织hibernate.collection.PersistentSet + Hibernate 5.4?

我们正在从3级迁移到5.4版。进行所有更改后,模块运行正常,因此我合并了其他修复程序的代码。

发布此消息后,我收到一些正在处理的消息的奇怪异常。

试图找出根本原因,但无法找出为什么要引用休眠3类。。我们发送的对象具有一对多关系

我们的应用程序正在从JMS队列中读取消息,在下面,尽管没有使用过此类,但它引发了异常

Serializable obj =((ObjectMessage) message).getobject()

例外:抱歉,无法添加整个跟踪

Weblogic.jms.common.JMSException[JMSClientExceptions:055115]Error deserializing an object
. 
. 
. 
Caused By: java.lang.classNotFoundException: org hibernate.collection.PersistentSet

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Controller中的调音方法[PersistenceUnit:默认]无法建立Hibernate SessionFactory

Controller中的调音方法[PersistenceUnit:默认]无法建立Hibernate SessionFactory

如何实现这个想法?向我发送信息:{“ idBanner”:2,“ fullnameClient”:“
Aria”}。如果单击“数据库中不包含”,则单击“保存并发送电子邮件”。否则,发送一条消息:“您已回复”。错误可能是版本依赖性?(实体):单击绑定横幅,横幅绑定Businesscentr。

Controller中的调音方法。[PersistenceUnit:默认]无法建立Hibernate SessionFactory

Controller中的调音方法。[PersistenceUnit:默认]无法建立Hibernate SessionFactory

如何实现这个想法?向我发送信息:{“ idBanner”:2,“ fullnameClient”:“
Aria”}。如果单击“数据库中不包含”,则单击“保存并发送电子邮件”。否则,发送一条消息:“您已回复”。错误可能是版本依赖性?(实体):单击绑定横幅,横幅绑定Businesscentr。

答案1

小编典典

模式验证:在表[banner]的列[id_bc]中遇到错误的列类型;
找到[int(Types#INTEGER)],但期望[bigint(Types#BIGINT)]

这是导致此问题

堆栈跟踪提到了hibernate正在验证您的架构(发现错误的列类型),这发生在 hibernate.hbm2ddl.auto = validate

现在,您可以保留此属性hibernate.hbm2ddl.auto = update,以便它将更新您的实体中所做的更改,

或仅更改数据库架构,并将此列的类型设置为大整数,就像在您使用long的实体中一样。

另外,在使用 hibernate.hbm2ddl.auto = update
时,无需重新创建数据库。在这种情况下,hibernate不会验证您的架构。

谢谢。

Hibernate 4 升级到 Hibernate 5 的时候 SessionFactory 不能使用

Hibernate 4 升级到 Hibernate 5 的时候 SessionFactory 不能使用

在 Hibernate 4 升级到 5 的时候老的 sessionFactory 出现错误。

public static SessionFactory initSession() {
		Configuration configuration = new Configuration();
		configuration.configure();
		serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
		sessionFactory = configuration.buildSessionFactory(serviceRegistry);
		return sessionFactory;
	}

 

你可以使用下面的代码来在 Hibernate 5 中初始化:

public static SessionFactory initSession() {
        Configuration configuration = new Configuration();
        configuration.configure();

        serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
        Metadata metadata = new MetadataSources(serviceRegistry).getMetadataBuilder().build();

        sessionFactory = metadata.getSessionFactoryBuilder().build();
        return sessionFactory;
    }

关于Hibernate-OGM [PersistenceUnit:person]无法建立Hibernate SessionFactory无法建立inventory的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ClassNotFoundException:组织hibernate.collection.PersistentSet + Hibernate 5.4、Controller中的调音方法[PersistenceUnit:默认]无法建立Hibernate SessionFactory、Controller中的调音方法。[PersistenceUnit:默认]无法建立Hibernate SessionFactory、Hibernate 4 升级到 Hibernate 5 的时候 SessionFactory 不能使用等相关知识的信息别忘了在本站进行查找喔。

本文标签: