我有两个映射了hibernate类的jar文件。一个jar文件完全正常工作,对于下一个jar文件,它没有映射。我收到了Unknown Entity异常。 Persistence.xml很好,但我不知道为什么会这样。有什么猜测是什么问题???
答案 0 :(得分:1)
检查Equipment
课程中是否有@Entity
。
此注释(@Entity
)将类标记为Hibernate(JPA)实体。
答案 1 :(得分:0)
对我而言,这是一个重构问题。我重构了我的实体包但忘了将组件扫描路径更改为新的包名。在那之后实现并改变了,它起作用了!
答案 2 :(得分:0)
尝试在实体类设备上添加以下注释。如果需要,相应地更改表名称:
@Entity
@Table(name = "Equipment")
@XmlRootElement
答案 3 :(得分:-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 {
}
}
}