我正在使用Spring Boot 2.0.4.RELEASE,并将src/test/resources/application.yml
配置为
spring:
jpa:
show-sql: false
hibernate:
dialect: org.hibernate.dialect.SQLServer2012Dialect
ddl-auto: none
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
properties:
hibernate:
generate_statistics: false
show_sql: false
我有一个非常简单的测试:
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@ExtendWith(SpringExtension.class)
public class MyTest {
...
}
该测试将忽略属性(在打印休眠语句时可以很容易看到)。将相同的属性放在application.properties
文件中是可行的。
将名称更改为application-test.yml
并运行配置文件测试也无济于事。
将@DataJpaTest
注释更改为@SpringBootTest
时,它可以正常工作...
请务必注意,其余的属性(与我的应用程序相关且没有前缀spring.*
的事物都将被正常读取和使用
我确实更喜欢使用yaml文件(例如在/src/main/resources
中),而不是仅仅为纯JPA测试而不加载完整的@SpringBootTest
...我还可以为此配置其他什么工作吗?
答案 0 :(得分:0)
这是缩进的问题。 properties
必须向左移动一层。
spring:
jpa:
show-sql: false
hibernate:
dialect: org.hibernate.dialect.SQLServer2012Dialect
ddl-auto: none
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
properties:
hibernate:
generate_statistics: false
show_sql: false
但是如果您使用logback.xml来记录配置,也可以尝试以下方法:
<logger name="org.hibernate.stat" level="OFF"/>