最近刚学习了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) {
/*
* Hibernate4.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();
// 开始事务
/*
* 使用Hibernate进行操作时(增、删、改)必须显示的调用 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();
我就是用错了方法,才出现错误,改过来用 5.1 的方法就可以了
© 2018 www.qingketang.net 鄂ICP备18027844号-1
武汉快勤科技有限公司 13554402156 武汉市东湖新技术开发区关山二路特一号国际企业中心6幢4层7号
扫码关注,全站教程免费播放
订单金额:
支付金额:
支付方式: