在存储库中声明自定义方法时,我们应该遵循哪些规则



当我试图编写一个内置查询并尝试运行时,我正在扩展JPARepository的Repository中编写自定义查询。我总是无法得到输出。有没有一些规则我应该遵守,以获得预期的输出没有错误?

那将是一场相当广泛的讨论。但举个例子:

所有的fetch方法都必须以findBy(区分大小写*(开头。之后,我们需要给出Entity属性名称,以便获取结果。

例如:

如果我们在Entity类中有它,那么findByName(String-anyName(就会起作用。

但是,如果Employee实体没有类似String name;的属性,并且我们声明了方法findByName,那么它将抛出一个异常。

因此,必须以camelCase的方式将正确的属性名称附加到findBy。

我想有几种方法可以编写自定义查询:

  1. 使用camelCase约定,例如findByNameAndSurname(String name, String surname);

  2. 使用@Query编写自定义HQL查询,例如-@Query(value = "SELECT u FROM User u")

  3. 使用本机查询,如-

    @查询(值=";从用户u中选择*WHERE u.status=1";,nativeQuery=true(

但也许我认为,最好是你指定一个具体的例子,你有问题

相关内容

最新更新