如何使用Spring Boot运行在数据库列中配置的查询

时间:2019-04-02 18:55:58

标签: java mysql hibernate spring-boot jpa

我希望实现以下功能, 使用堆栈:Spring-boot,Hibernate,MySQL

1)我有一个名为configuration的表,我有2列id,select_clause

2)我将查询存储在此配置表中

示例:从id = 999的配置中选择select_clause;

输出:SELECT * FROM user u where u.CREATE_DATE>'2019-03-25'

3)我有另一个称为用户的表,如何从用户存储库运行从点2)返回的查询,即SELECT * FROM user u where u.CREATE_DATE>'2019-03-25 '

我在下面尝试。

String query = configDTO.getSelectClause();

// query value is "SELECT * FROM user u where  u.CREATE_DATE > '2019-03-25'"

UserDTO userDTO = userRoleRepository.getReportByCustom(query);

我在存储库中的本机查询是

@Query(value = ":query",  nativeQuery=true)
public UserDTO getReportByCustom(@Param("query") String query);

我在说什么?

错误是 您的SQL语法有误;检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在第1行的``SELECT * FROM user u where u.CREATE_DATE>'2019-03-25'''附近使用

0 个答案:

没有答案