Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

错误信息:

Exception in thread "main" org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

    at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104)
    at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:209)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845)
    at com.yangwan.test.MainTest.createSessionV3(MainTest.java:77)

    at com.yangwan.test.MainTest.main(MainTest.java:102)

右上方信息可以定位到出错代码:

Configuration configuration = new Configuration().configure();
		StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder();
		ServiceRegistry sr = ssrb.build();
		SessionFactory sessionFactory = configuration.buildSessionFactory(sr);
		Session session = sessionFactory.openSession();
		Transaction transaction = session.beginTransaction();
		Person temp = new Person("xiaoxiao",22);
		try{
			session.save(temp);
			transaction.commit();
		}catch(Exception ex){
			ex.printStackTrace();
			transaction.rollback();
		}finally{
			session.close();
		}

SessionFactory sessionFactory = configuration.buildSessionFactory(sr);--->出现错误。


解决方法:

       Hibernate v4以后就已经废弃了利用ServiceRegister来创建SessionFactory了。所有创建SessionFactory的方法在Hibernate v4后就不适合了。

正确的SessionFactory创建代码:

Configuration cfg = new Configuration().configure();
StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值