2010-06-05 191 views
0

我有兩個映射了休眠類的jar文件。一個jar文件完美地工作,對於下一個jar文件,它沒有被映射。我收到「未知實體」異常。 Persistence.xml很好,但我不知道爲什麼會發生這種情況。任何猜測什麼是蟎問題?休眠未知實體

+0

堆棧跟蹤將是有益的,這個問題給出了很少的信息。 – ashurexm 2010-06-05 04:05:54

+0

對不起,我錯過了,感謝manyxcxi java.lang.IllegalArgumentException異常:未知的實體:在org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223)com.test.Equipment 在sun.reflect.NativeMethodAccessorImpl.invoke0 (本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(來源不明) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(來源不明) 在java.lang.reflect.Method.invoke(來源不明) 在org.springframework .orm.jpa.ExtendedEntityManagerCreator $ ExtendedEntityManagerInvocationHandler.invoke – Raj 2010-06-05 04:32:20

+0

你可以編輯你的問題來添加這個堆棧跟蹤並刪除評論......它會更好看。 – Yuval 2010-06-05 06:00:32

回答

1

檢查您的Equipment課程是否有@Entity

此批註(@Entity)將類標記爲Hibernate(JPA)實體。

0

對我來說這是一個重構問題。我重構了我的實體包,但忘記將組件掃描路徑更改爲新的包名稱。之後,實現和改變,它的工作!

0

嘗試在您的實體類設備上添加以下注釋。如果需要更改相應的表名:

@Entity 
@Table(name = "Equipment") 
@XmlRootElement 
-1
package Test; 

import java.util.EnumSet; 

import org.hibernate.Session; 
import org.hibernate.SessionFactory; 
import org.hibernate.Transaction; 
import org.hibernate.boot.Metadata; 
import org.hibernate.boot.MetadataSources; 
import org.hibernate.boot.registry.StandardServiceRegistryBuilder; 
import org.hibernate.service.ServiceRegistry; 
import org.hibernate.tool.hbm2ddl.SchemaExport; 
import org.hibernate.tool.schema.TargetType; 
import org.junit.Test; 

import Entity.Users; 

public class TestMain { 
    public static void main(String[] arg){ 
     try { 
     ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build(); 
     SessionFactory sessionFactory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory(); 
     Session session=sessionFactory.openSession(); 
     Transaction transaction=session.beginTransaction(); 
     Users users=new Users(); 
     users.setId(2); 
     session.save(users); 
     transaction.commit(); 
     session.close(); 
     sessionFactory.close(); 
     }catch(Throwable th){ 
       System.err.println("Init SessionFactory creation failed"); 
       System.err.println(th); 
       throw new ExceptionInInitializerError(th); 
     }finally { 

     } 
    } 


} 
+2

最好添加一個關於你的代碼的小描述 – droidev 2016-03-29 07:33:29