我第一次尝试使用Jersey,在尝试在本地计算机上运行Jersey服务器时出现此异常:
线程“main”中的异常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>
泽西岛的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
如何修复此异常?
答案 0 :(得分:0)
似乎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