- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我收到以下错误
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
实用程序.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();
}
}
持久化类
@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;
}
}
主类
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();
}
}
持久性.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>
最佳答案
根异常说明了一切:
Caused by: org.hibernate.HibernateException: Unanticipated return type [java.lang.Long] for UUID
您在不支持的类型上使用 UUID id 生成器。在这种情况下,您应该使用 String
而不是 Long
。
关于java - hibernate -OGM [PersistenceUnit : person] Unable to build Hibernate SessionFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31161042/
我在调用 hentMeldinger() 时不断收到此错误; public class Kontroll { private EntityManagerFactory emf; Kon
我有一个项目使用另一个项目作为库,我在两个项目上都有 Spring 和 Hibernate,问题是我需要将类从我的第一个项目映射到我的第二个项目。 这是我得到的异常: Caused by: org.h
我想在我的应用程序中使用@PersistenceUnit 注释来创建应用程序管理的 EntityManager @PersistenceUnit(unitName="primary") private
我正在使用 jpa 和 spring,并在以下代码中出现错误; @PersistenceContext protected EntityManager entityManager; enti
可以@PersistenceUnit在JPA中与JTA一起使用?如果是这样,怎么可能? 每http://tomee.apache.org/jpa-concepts.html : With [...]
我正在开发一种使用 JPA2 处理某些数据库实体的工具,并将 hibernate 作为持久性提供程序。该工具是通用的并且与任何业务逻辑无关,它需要一个通用的 Class参数来完成它的业务,其中 Tas
我有一个 Spring MVC + Hibernate + JPA 应用程序。我有一个 defaultPersistance 单元,它是在 persistence.xml 中定义的: org
在几个项目中我已经成功使用 @PersistenceUnit(unitName = "MiddlewareJPA") EntityManagerFactory emf; ... EntityManag
有谁知道如何通过 @PersistenceUnit 注释通过构造函数设置 EntityManagerFactory 。我可以通过xml配置来做到这一点。但是我不知道对应的注解配置。
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Sharing a persistence unit across components in a .ear fil
我正在使用 spring、jpa、hibernate 和 mysql 数据库开始一个新项目,但我有此配置有问题。 我开发了一个类似的架构,但我从未创建过它,我正在与之抗争。 这是我的 dispatch
通过使用 CDI,如下面的代码所示: @PersistenceUnit EntityManagerFactory emf; 我想注入(inject)我的 hibernate EntityManager
我使用 EclipseLink 作为我的 JPA 提供程序。我的应用程序工作正常,但最近在部署应用程序时出现错误,并且它不再工作。我是 JPA 新手,尽管我已阅读日志,但我无法理解发生了什么。它与 E
我是 JPA 新手,刚开始使用 EclipseLink。在教程的帮助下,我开始创建我的第一个 JPA 项目,它包含一个实体(使用 JPA 工具自动创建),一个简单的主类,触发最基本的选择查询。但是,当
如果我使用以下内容 @PersistenceUnit(unitName="mongo") EntityManagerFactory emf; EntityManager em = emf.create
我正在研究 REST 服务器并同时学习 EJB\hibernate。当服务调用 DAO 时,我遇到了一个问题,即它找不到我的持久单元。 @Stateless public class HotelDAO
我正在尝试使用 Sun Java PetStore Demo。 在 CatalogFacade 类中有以下注释: @PersistenceUnit(unitName="myPetStorePU") p
我在两个实体之间有单向关系: *@Entity public class XXX{ @Id private Long Id; @OneToOne(fetch = FetchType.LAZ
我正在尝试使用 Sun Java PetStore Demo。 在 CatalogFacade 类中有以下注释: @PersistenceUnit(unitName="myPetStorePU") p
我知道 StackOverflow 中还有关于此主题的其他问题,我阅读了它们,但我无法摆脱这个错误。 我正在 JBoss-as-7.1.1 Final 中部署我的 Web 应用程序。这是一个 Mave
我是一名优秀的程序员,十分优秀!