休眠未知实体
问题描述:
我有两个映射了休眠类的jar文件。一个jar文件完美地工作,对于下一个jar文件,它没有被映射。我收到“未知实体”异常。 Persistence.xml很好,但我不知道为什么会发生这种情况。任何猜测什么是螨问题?休眠未知实体
答
对我来说这是一个重构问题。我重构了我的实体包,但忘记将组件扫描路径更改为新的包名称。之后,实现和改变,它的工作!
答
尝试在您的实体类设备上添加以下注释。如果需要更改相应的表名:
@Entity
@Table(name = "Equipment")
@XmlRootElement
答
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
堆栈跟踪将是有益的,这个问题给出了很少的信息。 – ashurexm 2010-06-05 04:05:54
对不起,我错过了,感谢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
你可以编辑你的问题来添加这个堆栈跟踪并删除评论......它会更好看。 – Yuval 2010-06-05 06:00:32