当我试图编写一个内置查询并尝试运行时,我正在扩展JPARepository的Repository中编写自定义查询。我总是无法得到输出。有没有一些规则我应该遵守,以获得预期的输出没有错误?
那将是一场相当广泛的讨论。但举个例子:
所有的fetch方法都必须以findBy(区分大小写*(开头。之后,我们需要给出Entity属性名称,以便获取结果。
例如:
如果我们在Entity类中有它,那么findByName(String-anyName(就会起作用。
但是,如果Employee实体没有类似String name;的属性,并且我们声明了方法findByName,那么它将抛出一个异常。
因此,必须以camelCase的方式将正确的属性名称附加到findBy。
我想有几种方法可以编写自定义查询:
-
使用camelCase约定,例如
findByNameAndSurname(String name, String surname);
-
使用
@Query
编写自定义HQL查询,例如-@Query(value = "SELECT u FROM User u")
-
使用本机查询,如-
@查询(值=";从用户u中选择*WHERE u.status=1";,nativeQuery=true(
但也许我认为,最好是你指定一个具体的例子,你有问题