当前位置: 首页 > 面试题库 >

使用Spring DATA JPA创建自定义查询?

祁博雅
2023-03-14
问题内容

我正在使用Spring Data JPA进行项目。我在数据库中有一个表作为my_query。

我想创建一个将字符串作为参数的方法,然后将其作为数据库中的查询执行。

方法:

executeMyQuery(queryString)

例如,当我通过

queryString= "SELECT * FROM my_query"

那么它应该在数据库级别运行该查询。

存储库类如下。

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);

}

但是,它没有按我预期的那样工作。它给出以下错误。

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

还有什么其他方法可以实现这个目标。提前致谢


问题答案:

您可以参数化的唯一部分是在WHERE子句中使用的值。考虑来自官方文档的此示例:

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做一个项目。我在数据库中有一个表为my_query。 我想创建一个以字符串作为参数的方法,然后将其作为数据库中的查询执行。

  • 我有一个整数参数。我需要编写一个定制的Spring JPA查询,其中等效的SQL是<(1,2)中的code>和x.propertyStatuid。 我在SpringDataJPA文档中看到关键字是“in”,如

  • 问题内容: 我想问一个与这个问题相同的问题,但使用SWT:是否有一种方法可以制作带有您自己的按钮图形的按钮,而不仅仅是按钮内的图像?如果不是,这是在Java中创建自定义按钮的另一种方法吗? 问题答案: public class ImageButton extends Canvas { private int mouse = 0; private boolean hit = false;

  • 基本上,我想知道我是否可以创建一个树并在JavaFX上自定义它...我试着去做,但到目前为止还不能用这个代码做任何事情... 我在质疑自己,这是否是正确的“技术”,可以解决我想做的事情... 我从https://docs.oracle.com/javafx/2/ui_controls/tree-view.htm#babjgggf看到了这个教程,但我对这个教程真的很困惑...我不太了解细胞工厂的机制

  • 问题内容: 我正在用Gradle创建一个构建过程,我想提供一个使用Java代码的插件。Gradle 插件文档 说 这是可能的: 您可以使用任何喜欢的语言来实现自定义插件,前提是该实现最终会编译为字节码。对于此处的示例,我们将使用Groovy作为实现语言。如果需要,可以改用Java或Scala。 但是,经过数小时的谷歌搜索和阅读之后,我还没有找到有关如何使用Java创建Gradle自定义插件的任何说

  • 如何转换react查询以适应自定义类型?? 注意:我在前端使用的是JavaScipt,而不是Typescript