我试图以编程方式配置hibernate并在MySQL中生成数据库模式和表。这是hibernate配置
configuration.setProperty(AvailableSettings.DIALECT, "org.hibernate.dialect.MySQL5Dialect")
.setProperty(AvailableSettings.URL, "jdbc:mysql://localhost/ritm?autoReconnect=true&characterEncoding=UTF-8&useUnicode=true&createDatabaseIfNotExist=true")
.setProperty(AvailableSettings.USER, "root")
.setProperty(AvailableSettings.PASS, "gjnjkjr")
.setProperty(AvailableSettings.DRIVER, "com.mysql.jdbc.Driver")
.setProperty(AvailableSettings.POOL_SIZE,"1");
当我用maven运行时,我得到了以下WARN
WARN: HHH000342: Could not obtain connection to query metadata : Could not create connection to database server. Attempted reconnect 3 times. Giving up.
之后的例外
апр 04, 2013 10:31:53 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 0, SQLState: 08001
апр 04, 2013 10:31:53 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
org.hibernate.exception.JDBCConnectionException: Could not open connection
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:67)
有人可以形容这个吗?
答案 0 :(得分:0)
您是否尝试在网址中附加端口号。我知道这似乎很愚蠢,但是,数据库通信依赖于端口号,我注意到你没有包含URL的端口号。例如,如果您使用的是MySQL,则端口号为3306.因此,JDBC URL如下所示:
AvailableSettings.URL, "jdbc:mysql://localhost:3306/ritm?autoReconnect=true&characterEncoding=UTF-8&useUnicode=true&createDatabaseIfNotExist=true"