使用Hibernate创建MySQL数据库

时间:2013-04-04 18:40:45

标签: mysql hibernate

我试图以编程方式配置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)

有人可以形容这个吗?

1 个答案:

答案 0 :(得分:0)

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

AvailableSettings.URL, "jdbc:mysql://localhost:3306/ritm?autoReconnect=true&characterEncoding=UTF-8&useUnicode=true&createDatabaseIfNotExist=true"