java - 如何在使用 Spring Data JPA nativeQuery 时用参数值替换表名称

标签 java spring spring-data-jpa nativequery

像这样:

public interface XXXRepository extends CrudRepository<XXX, Integer> {
@Query(value = "select * from ?1 where ...", nativeQuery = true)
List<XXX> findByXXX(String tableName, ...);}

它给出了 MYSQL 语法错误和代码。 语法错误表明SQL中的表名被“'”包围。

最佳答案

这是不可能的。参数仅允许在 where 子句中使用。

关于java - 如何在使用 Spring Data JPA nativeQuery 时用参数值替换表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59205197/

相关文章:

java - 获取所有唯一的文件名

java - 如何在 Hibernate Search/Lucene 中禁用默认评分/提升?

java - 在 Spring 框架中获取模型类的单个对象

java - 在 catch 子句中抛出异常

java - 如何知道文件之前是否被处理过

java - 无法使用 Spring 创建 java.util.concurrent.ThreadPoolExecutor 的 bean

java - WEB应用中的缓存线程池性能

java - Spring Data JPA Query By Example 与相关实体

java - ManyToOne 双向关系中 POST 请求上的 org.hibernate.exception.ConstraintViolationException

java - Spring Auditing - Spring如何自动将@CreatedDate和@LastModifiedDate插入数据库?