0

我正在尝试以编程方式配置休眠并在 MySQL 中生成数据库模式和表。这是休眠配置

 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: 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)

任何人都可以描述这个吗?

4

1 回答 1

0

您是否尝试将端口号附加到 URL。我知道这似乎很愚蠢,但是,数据库通信依赖于端口号,而且我注意到您没有在 URL 中包含端口号。例如,如果您使用 MySQL,则端口号为 3306。因此 JDBC URL 如下所示:

AvailableSettings.URL, "jdbc:mysql://localhost:3306/ritm?autoReconnect=true&characterEncoding=UTF-8&useUnicode=true&createDatabaseIfNotExist=true"
于 2013-04-04T18:54:06.127 回答