• 欢迎访问梯云博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站点击访问
  • 站点的评论回复邮件可能会被邮箱放入垃圾邮件中,请注意哦~
  • 梯云博客近期增设了“电影资源”板块,在视频区域下边哦~
  • 梯云音乐上线,提供一站式的音乐下载平台,点击前往梯云音乐
  • 如果百度网盘下载速度过慢,可使用该工具~Proxyee-down 百度网盘不限速
  • 本站所有发布的信息以及产品,仅供学习研究使用;除有软件所有者授权外不得非法用于商业或其他用途。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏梯云吧!

[Hibernate]关于Hibernate5.1出现找不到实体类(Exception in thread “main” org.hibernate.MappingException: Unknown entity)

Hibernate 做棵大树 12个月前 (05-27) 193次浏览 0个评论

最近刚学习了Hibernate框架,老师布置了个作业,让用 Hibernate 4.3 版本的框架来写,但是我的 Myeclipse2017 中,虽然配置了 user library,但是总是布置不了环境,于是,就用 5.1 的版本来做了。

当时报错了这个错了:Exception in thread “main” org.hibernate.MappingException: Unknown entity:beans.Publisher

那,我把代码粘贴一下:

	public static void main(String[] args) {
		/*
		 * <a href="http://www.teenshare.club/tag/hibernate" title="查看更多关于 Hibernate 的文章" target="_blank">Hibernate</a>4.3 方法
		 * 
		Configuration conf = new Configuration().
				// 不带参数的 configure()方法默认加载 hibernate.cfg.xml 文件,
				// 如果传入 abc.xml 作为参数,则不再加载 hibernate.cfg.xml,改为加载 abc.xml
				configure();
		ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings
				(conf.getProperties()).build();
		// 以 Configuration 实例创建 SessionFactory 实例
		SessionFactory  sf = conf.buildSessionFactory(serviceRegistry);*/
               //5.1 版本获取 SessionFactory 实例代码
		StandardServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().configure().build();

		SessionFactory sf=new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
				
		//创建 session
		Session session = sf.openSession();
		// 开始事务
		/*
		 * 使用<a href="http://www.teenshare.club/tag/hibernate" title="查看更多关于 Hibernate 的文章" target="_blank">Hibernate</a>进行操作时(增、删、改)必须显示的调用 Transaction(默认:autoCommit=false)。
		 *	Transaction 的运行与 Session 接口相关,可调用 Session 的 beginTransaction()方法生成一个 Transanction 实例。
		 * */
		Transaction tx = session.beginTransaction();
		
		// 创建出版社对象
		Publisher publisher = new Publisher();
		Publisher publisher2 = new Publisher();
		// 设置出版社相关信息
		publisher.setId(2);
		publisher.setPublisherName("高兴死了");
		publisher.setPublisherNo("12345");
		
		session.save(publisher);
		tx.commit();
		session.close();
		sf.close();
Hibernate 4.3  其中的一种 获取 SessionFactory 的方法

            //实例化 configuration
Configuration con=new Configuration().configure();
//实例化 ServiceRegistry
ServiceRegistry service=new StandardServiceRegistryBuilder().applySettings(con.getProperties()).build();
//创建 SessionFactory 实例
SessionFactory fac=con.buildSessionFactory(service);

             而Hibernate 5.1 的获取 SessionFactory 的方法

StandardServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().configure().build();
SessionFactory sessionFactory=new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();

我就是用错了方法,才出现错误,改过来用 5.1 的方法就可以了

 


TeenShare 梯云分享 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明[Hibernate]关于 Hibernate5.1 出现找不到实体类(Exception in thread “main” org.hibernate.MappingException: Unknown entity)
喜欢 (1)
[欢迎投币]
分享 (0)
关于作者:
一个整天无所事事的,有时候忽然热血的孩子
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址