Hibernate问题之'hibernate.dialect' not set

本文探讨了Hibernate配置过程中遇到的问题,特别是在使用新方法时出现的Connection cannot be null when 'hibernate.dialect' not set错误。文章详细解释了如何正确设置hibernate.cfg.xml和hibernate.properties文件来避免此类问题,并指出了configure方法的重要性。

   继前文:Hibernate4中buildSessionFactory方法废弃问题。 后 继续有问题。本来之前好好的项目,用了这种新的方法后发现问题。

  出现  Connection cannot be null when 'hibernate.dialect' not set,明明就在hibernate.cfg.xml配置了,但是还是提示方言为空,原来,少了一个

hibernate.properties文件,添加之后,又出现一大堆问题。

   之前项目不需properties文件,两者的区别就是旧项目用了:

 

SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();


 

新项目

 

Configuration configuration = new Configuration();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);


原来,少了,configuration.configure()方法

 

没有configure()就会去classpath找hibernate.properties文件,有configure就去找hibernate.cfg.xm

就这么简单,囧!



转载于:https://www.cnblogs.com/snake-hand/p/3165728.html

org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [com.kingbase8.hibernate.dialect.Kingbase8Dialect] as strategy [org.hibernate.dialect.Dialect] at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:156) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveStrategy(StrategySelectorImpl.java:239) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveDefaultableStrategy(StrategySelectorImpl.java:183) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveDefaultableStrategy(StrategySelectorImpl.java:170) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveStrategy(StrategySelectorImpl.java:164) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:74) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:51) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:97) [hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) [hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) [hibernate-core-5.6.10
最新发布
09-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值