eclipse中测试Hibernate异常报'hibernate.dialect' must be set when no Connection avalable

初学Hibernate遇到的异常贴出来

 1 SLF4J: The requested version 1.6 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8]
 2 SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
 3 log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
 4 log4j:WARN Please initialize the log4j system properly.
 5 log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
 6 Exception in thread "main" org.hibernate.HibernateException: 'hibernate.dialect' must be set when no Connection avalable
 7     at org.hibernate.dialect.resolver.DialectFactory.buildDialect(DialectFactory.java:107)
 8     at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:134)
 9     at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
10     at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
11     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
12     at com.test.LoginDAO.<init>(LoginDAO.java:19)
13     at com.test.Test.main(Test.java:13)

1.2.3.4.5行可以忽略,大概意思是说日志记录的jar包没有装好。

看第6行报'hibernate.dialect' must be set when no Connection avalable 意思是说报要连接必须设置'hibernate.dialect' ,这个对我这中菜鸟真是有误导,对其他菜鸟也一样

可以转换下思路,里面有connection 也就是说跟连接有关系,Hibernate是连接数据库的,所以看看数据库状态,一看连接不上。问题找出来了,好吧,把数据库弄好就行了。

问题:报错 报'hibernate.dialect' must be set when no Connection avalable

原因:数据库没有准备好

解决方法:把数据库设置好。(这一般都是因为自己电脑断电引起的数据库监听程序出问题,哎,贱人就是矫情。)

重新启动数据库的方法:

1、进入CMD,执行set ORACLE_SID=orcl,确保连接到正确的SID;

2、运行sqlplus "/as sysdba"

SQL>shutdown immediate 停止服务

SQL>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号

SQL>shutdown immediate 再次停止服务

SQL>startup mount

SQL> recover datafile    恢复出错的数据文件(不是很常用)

SQL>shutdown immediate 再次停止服

SQL>startup 启动服务,此次正常。

一般这几步下来能搞的,不行的话多重复几次关闭和开启数据库。

原文地址:https://www.cnblogs.com/vawa/p/3105308.html