Creating a custom query with Spring DATA JPA?(使用 Spring DATA JPA 创建自定义查询?)
问题描述
我正在使用 Spring Data JPA 处理一个项目.我在数据库中有一个表作为 my_query.
I'm working on a project with Spring Data JPA. I have a table in the database as my_query.
我想创建一个将字符串作为参数的方法,然后在数据库中作为查询执行它.
I want to create a method which takes a string as a parameter, and then execute it as a query in the database.
方法:
executeMyQuery(queryString)
例如,当我通过时
queryString= "SELECT * FROM my_query"
然后它应该在数据库级别运行该查询.
then it should run that query in DB level.
存储库类如下.
public interface MyQueryRepository extends JpaRepository<MyQuery, Long>{
public MyQuery findById(long id);
@Modifying(clearAutomatically = true)
@Transactional
@Query(value = "?1", nativeQuery = true)
public void executeMyQuery(String query);
}
然而,它并没有像我预期的那样工作.它给出了以下错误.
However, it didn't work as I expected. It gives the following error.
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''select * from my_query;'' at line 1
有没有其他方法可以实现这个目标.提前致谢
Is there any other way, that I could achieve this goal. Thanks in advance
推荐答案
唯一可以参数化的部分是 WHERE
子句中使用的值.考虑来自 官方文档:
The only part of it you can parameterise are values used in WHERE
clause. Consider this sample from official doc:
public interface UserRepository extends JpaRepository<User, Long> {
@Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?1", nativeQuery = true)
User findByEmailAddress(String emailAddress);
}
这篇关于使用 Spring DATA JPA 创建自定义查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 Spring DATA JPA 创建自定义查询?
基础教程推荐
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01