设置hibernate.dialect属性后仍出现异常。我使用的是Hibernate 5.0.11和Sping Boot 1.4.2,MySQL版本为5.7
application.properties is like this
# Hibernate
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=true
hibernate.hbm2ddl.auto=validate
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
有什么问题吗?
9条答案
按热度按时间sxissh061#
在
properties
文件中添加以下行可以解决这个问题。bttbmeg02#
我也遇到了类似的问题,但意识到我没有从复制和粘贴到从Springboot的tutorial创建的www.example.com文件中正确定制DB名称字段application.properties:
请确保将
db_example
springuser
和ThePassword
替换为实际值。对我自己来说只是一个“duh”的时刻,但可能对别人有一些用处。
zvokhttg3#
也许你已经解决了这个问题,但我有一个类似的问题。
在mysql中添加显式的运行时依赖应该可以解决这个问题:
这允许spring Boot 基于classpath自动配置jdbc相关的beans。
e4yzc0pl4#
创建配置后添加以下内容可解决问题:
hfwmuf9z5#
我很明显地错过了:
这篇文章也有一些有用的提示:org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
bkhjykvo6#
在我的例子中,我在排除了数据库的情况下启动了我的spring Boot 应用程序:
然后,当我开始创建JPA类时,我得到了一个错误,我试图修复它:
这导致了问题中提到的例外情况。
因此,解决方案当然是简单地从
@SpringBootApplication
注解中删除DataSourceAutoConfiguration.class
,但我花了一些时间才注意到错误。v1l68za47#
在连接到Oracle数据库时,我的Sping Boot 项目也遇到了同样的问题。
以下是我执行的故障排除步骤-
1.确保相关的hibernate属性存在于application.properties文件
hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
中,spring.jpa.hibernate.ddl-auto=update
方言取决于您使用的数据库。
hibernate.ddl-auto
也可以是5个属性之一。1.验证JDBC URL。例如,oracle的连接字符串类似于
jdbc:oracle:thin:@10.10.32.20:1521/SRV_LICENSING_D1
1.验证数据库凭据。
1.请确保在属性文件中使用的服务名称为大写。因为hibernate是大小写敏感的。例如,在oracle的情况下,服务名称将类似于
SRV_LICENSING_D1
os8fio9y8#
原因:db方言时数据库连接不满意,哪个数据库不重要。
解决方案:更正www.example.com中的连接字符串application.properties(或其位置)
juzqafwq9#
在我的例子中,问题是我的自定义DialectResolver的访问修饰符。不是
public
。Rookie mistake:)