【发布时间】:2017-09-27 00:50:53
【问题描述】:
我在查询中使用了Date 函数,因此我试图在MYSQL 模式下为我的SpringBoot JPA 应用程序运行H2。我在我的application.yml 文件中添加了url: jdbc:h2:mem:testdb;Mode=MYSQL,因为我收到了错误org.h2.jdbc.JdbcSQLException: Function "DATE" not found; SQL statement。
但即使在aplicaiton.ymll 文件中添加了mode=mysql 属性后,我仍然遇到同样的错误。还有什么我需要在任何地方添加的吗?
这是我的 Application.yml
spring:
datasource:
url: jdbc:h2:mem:test;Mode=MYSQL
我的查询
@Query(value = "select * from user where Date(created_date) <= ?1 and Date(modified_date) <= ?1", nativeQuery = true)
List<Users> usersByDate(String date );
我正在通过 spring/hibernate 使用我的实体中的 javax.persistence 注释创建表模式。我正在使用 spring-boot 1.4.2 和 spring-data-jpa 1.10.5 。无法理解为什么它对我不起作用。
【问题讨论】:
-
就我个人而言,我总是使用实际的 DBMS 进行测试,我们总是在 Docker 镜像中运行测试,为每次测试运行提供一个干净的数据库。
-
你使用mode=MYSQL并不代表它100%支持mysql的所有特性和功能...查看H2文档兼容模式的作用。
标签: mysql hibernate jpa spring-boot h2