java – Hibernate – OGM [PersistenceUnit:person]无法构建Hi
我收到以下错误
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(); } } 持久的阶级 @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(); } } 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> 解决方法
根异常说明了一切:
Caused by: org.hibernate.HibernateException: Unanticipated return type [java.lang.Long] for UUID 您正在一个它不支持的类型上使用UUID id生成器.在这种情况下,您应该使用String而不是Long. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |