在版本问题上解决 org.hibernate.MappingException: Unknown entit xxx
2017-02-09 22:33
543 查看
问题出在V4和V5中构建 SessionFactory的实例方式不同
Hibernate4的版本
Configuration conf = new Configuration().configure();
//服务注册,这是使用创建者模式,根据配置文件中的配置字段来构建注册服务(这应该是hibernate架构中注册服务的通用流程)。
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().
applySettings(conf.getProperties()).build();
//使用实例化好了的注册服务,使用Configuration中的工厂模式实例化了SessionFactory
SessionFactory sf = conf.buildSessionFactory(serviceRegistry);
Hibernate5的版本
//和V4版本比,V5版本看不到configure对象了。直接使用创建者模式构建出了标准服务注册对象
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure().build();
//这个对象metadata对象应该扮演了一个万金油的角色,使用以上的注册对象作为入参构建这个对象
Metadata metadata = new MetadataSources(standardRegistry).getMetadataBuilder()
.applyImplicitNamingStrategy(ImplicitNamingStrategyComponentPathImpl.INSTANCE).build();
//最后由这个metadata使用构建出sessionFactory
SessionFactory sessionFactory = metadata.getSessionFactoryBuilder().build();
就这样就行了
编程嘛总是要往发展的方向看的!
在LOL中有句话说的很好:想要上分英雄,跟着版本走就对了
Hibernate4的版本
Configuration conf = new Configuration().configure();
//服务注册,这是使用创建者模式,根据配置文件中的配置字段来构建注册服务(这应该是hibernate架构中注册服务的通用流程)。
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().
applySettings(conf.getProperties()).build();
//使用实例化好了的注册服务,使用Configuration中的工厂模式实例化了SessionFactory
SessionFactory sf = conf.buildSessionFactory(serviceRegistry);
Hibernate5的版本
//和V4版本比,V5版本看不到configure对象了。直接使用创建者模式构建出了标准服务注册对象
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure().build();
//这个对象metadata对象应该扮演了一个万金油的角色,使用以上的注册对象作为入参构建这个对象
Metadata metadata = new MetadataSources(standardRegistry).getMetadataBuilder()
.applyImplicitNamingStrategy(ImplicitNamingStrategyComponentPathImpl.INSTANCE).build();
//最后由这个metadata使用构建出sessionFactory
SessionFactory sessionFactory = metadata.getSessionFactoryBuilder().build();
就这样就行了
编程嘛总是要往发展的方向看的!
在LOL中有句话说的很好:想要上分英雄,跟着版本走就对了
相关文章推荐
- org.hibernate.MappingException Unknown entity com.po.Dept问题的解决
- 用maven管理Spring项目出现org.hibernate.MappingException Unknown entity的问题解决办法
- nested exception is org.hibernate.MappingException: Unknown entity,问题解决
- hibernate问题org.hibernate.MappingException解决
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -9【问题发现与解决】
- org.hibernate.MappingException: Unknown entity常见问题。回顾笔记,以前没记,现在补上,xiaochao写的蛮好的直接给转载了。
- org.hibernate.MappingException: Unknown entity解决
- org.hibernate.MappingException: Unknown entity 解决方法
- Hibernate版本问题报错:org.hibernate.MappingException: Unknown entity
- org.hibernate.MappingException: Unknown entity 解决方法
- Hibernate 5.X 版本中Exception in thread "main" org.hibernate.MappingException: Unknown entity: cn.xxx.p
- org.hibernate.MappingException: Unknown entity
- 解决org.hibernate.LazyInitializationException: could not initialize proxy - no Session懒载入问题
- 异常 org.hibernate.MappingException: Unknown entity: entity.XXXX
- org.hibernate.MappingException: Unknown entity: DnoFonetoone.Dnfclass
- myeclipse中出现 org.hibernate.MappingException: Unknown entity: cn.itcast.hibernate.domain.User
- maven项目中 org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found问题的解决方案
- json解决hibernate中级联对象延迟加载问题net.sf.json.JSONException: org....
- 解决org.hibernate.LazyInitializationException: could not initialize proxy - no Session懒加载问题
- org.hibernate.QueryException: addEntity() or addScalar() must be called on a sql query before executing the qury 问题的解决