Hibernate报错 org.hibernate.MappingException: Unknown entity

1、如果是使用@Entity注解那么看一下引入包路径

import org.hibernate.annotations.Entity;//这是错误的

import javax.persistence.Entity;//引入这个类是正确的

@Entity
@Table(name="test_person")
public class Person implements Serializable

2、可能是获取sessionFactory方式有问题
Hibernate4.X写法

		 //生成一个注册机对象
	ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
		//使用注册机机对象serviceRegistry创建sessionFactory
sessionFactory = configuration.buildSessionFactory(serviceRegistry);

//Hibernate5.X版本的写法

//生成一个注册机对象
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
//使用注册机机对象serviceRegistry创建sessionFactory
sessionFactory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();

3、将.xml中的class标签中的name写为类所在路径。

错误时为:

<class name="Student" table="STUDENTS">

修改后为:

<class name="org.hibernate.model.Student" table="STUDENTS">

4、如果项目是copy已有项目的话,可能是实体类包路径重复,把包路径修改即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐