在按照《轻量级Java EE企业应用实战 第4版》学习Hibernate过程中,遇到如下错误,特记录解决办法。
1.org/hibernate/service/ServiceRegistry : Unsupported major.minor version 52.0
教程中实例使用的是hibernate 4.3.5,我在学习过程中使用的是hibernate 5.2.12, eclipse jre是jdk 1.7。
jdk1.7不支持 hibernate的最新版本5.2.12,在hibernate官网中
5.2 series
这样要求的,Compatibility
Java | 8+ |
JPA | 2.1 |
jdk 1.7只能支持hibernate 5.1系列的,解决此问题要不使用jdk1.8,要不就使用hibernate 5.1 对应jdk 1.7
2.org.hibernate.MappingException: Unknown entity
按照教程中例子代码是这样写的:
Configuration conf=new Configuration().configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build();
SessionFactory sf=conf.buildSessionFactory(serviceRegistry);
Session sess=sf.openSession();
Transaction tx=sess.beginTransaction();
结果生成对象时报错:org.hibernate.MappingException: Unknown entity
查找资料发现还是版本问题,在hibernate 5.0以后关于以上代码需要修改如下:
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
SessionFactory sf=new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
Session sess=sf.openSession();
Transaction tx=sess.beginTransaction();
相关推荐
了解Hibernate的一个很好的文档,想学Hibernate的朋友可以载来看看。
其实,我想如果我们应用得当的话,完全可以消除ORM批量处理性能问题这方面的顾虑。下面以Hibernate为例来做为说明,假如我们真的不得不在Java中使用Hibernate来对数据进行批量处理的话。 向数据库插入100 000条数据
这个PDF用一个实例讲解了怎么来处理一对多和多对一的关系,利用anotation来设定的,很有参考价值。
spring整合hibernate实现事务处理 1.spring整合hibernate实现事务处理-注解方式 2.spring整合hibernate实现事务处理-XML方式
Spring 1_2的hibernate事务处理,更加详细的说明事务的处理在SPRING中
Hibernate是一种Java语言下的对象...Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。
NULL 博文链接:https://liubing1883.iteye.com/blog/405679
Hibernate处理1-N关系时保存技巧、Hibernate缓存机制、Hibernate批量处理数据、Hibernate三种继承映射策略、hibernate映射体系、Hibernate主键生成策略、持久层DAO设计建议、基于xml文件的bean、使用HibernateAPI在...
2 1+N问题 (典型的面试题) (详见 hibernate_2800_Hibernate_1+N项目) 3 list和iterate不同之处(//主要为了面试 详见hibernate_2900_Hibernate_list_iterate) 4 一级缓存和二级缓存和査询缓存(面试题)(详见...
1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...
hibernate dao 操作(一个basedao全部搞定) 两种配置:oracle mysql,切换数据库只要把SessionFactory的配置文件改成对应就可以了 c3p0配置:mysql调试通过,oracle由于存在问题,未配置 spring配置式事务管理...
Hibernate是一个面向Java环境的对象...Hibernate不仅仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
自己根据课本总结的使用hibernate时,实体类间映射文件即*.hbm.xml文件的写法。如果你正在学习hibernate,保证会对你有所帮助。
antlr-2.7.6.jar 一个语言转换工具(Hibernate利用它实现 HQL 到 SQL 的转换模板相关操作需要包) c3p0-0.9.1.jar c3p0数据源实现的jar文件 cglib.jar CGLIB 字节码解释器 commons-collections-3.1.jar collections ...
菜单window -> preference -> Java -> Build Path -> User Librarys,分别建立名为Hibernate2,hibernate3,mysql-jdbc的用户库,分别包含对应的lib文件(如hibernate2包含hibernate-2.1目录下的hibernate2.jar及其lib...
1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...
1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...
(1) Hibernate是一个面向Java环境的对象/关系数据库映射工具,Hibernate不仅管理Java类型到数据库表的映射,还提供查询数据和操作数据的OO方法。 (2) Hibernate对JDBC进行了轻量级的对象封装,使Java程序员可以...
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 Configuration接口 Configuration...
Hibernate一对多关系的处理.doc