【问题标题】:Connecting to MySql database with Hibernate and Jersey使用 Hibernate 和 Jersey 连接到 MySql 数据库
【发布时间】:2016-08-15 07:31:47
【问题描述】:

我第一次尝试使用 Jersey,但在尝试在本地机器上运行 Jersey 服务器时出现此异常:

线程“主”org.hibernate.HibernateException 中的异常:当未设置“hibernate.dialect”时,对 DialectResolutionInfo 的访问不能为空

这是我的 hibernate.cfg.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
   <session-factory>
        <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property>
        <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property>
        <!-- Assume test is the database name -->
        <property name="hibernate.connection.url"> jdbc:mysql://localhost/mydb </property>
        <property name="hibernate.connection.username"> root </property>
        <property name="hibernate.connection.password"> </property>
        <!-- List of XML mapping files -->
        <mapping class="annotations.Person"></mapping>       
    </session-factory>
</hibernate-configuration>

Jersey 的 config.yml 包含这部分:

# Database settings.
database:
    # the name of the JDBC driver, mysql in our case
    driverClass: com.mysql.jdbc.Driver
    # the username
    user: root
    # the password
    password: 
    # the JDBC URL; the database is called DWGettingStarted
    url: jdbc:mysql://localhost:3306/mydb

如何解决这个异常?

【问题讨论】:

    标签: java mysql hibernate jersey


    【解决方案1】:

    config.yml 文件似乎缺少一些信息。

    添加以下内容可解决此问题:

    # Database settings.
    database:
        # the name of the JDBC driver, mysql in our case
        driverClass: com.mysql.jdbc.Driver
        # the username
        user: root
        # the password
        password: 
        # the JDBC URL; the database is called DWGettingStarted
        url: jdbc:mysql://localhost:3306/mydb
        # any properties specific to your JDBC driver:
        properties:
          charSet: UTF-8
          hibernate.dialect: org.hibernate.dialect.MySQLDialect
    
          # the maximum amount of time to wait on an empty pool before throwing an exception
          maxWaitForConnection: 1s
    
          # the SQL query to run when validating a connection's liveness
          validationQuery: "/* MyApplication Health Check */ SELECT 1"
    
          # the minimum number of connections to keep open
          minSize: 8
    
          # the maximum number of connections to keep open
          maxSize: 32
    
          # whether or not idle connections should be validated
          checkConnectionWhileIdle: false
    

    【讨论】:

      猜你喜欢
      • 2018-12-12
      • 2015-06-11
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 2021-02-09
      • 2019-10-30
      • 1970-01-01
      相关资源
      最近更新 更多