当前位置: 首页 > 知识库问答 >
问题:

从方法名生成查询时出现Spring数据错误

邢博涛
2023-03-14

我试图在Spring Data JPA存储库中实现一个自定义方法。

List<Person> findByFirstNameOrLastName(String key);
Caused by: org.springframework.beans.factory.BeanCreationException:
    Error creating bean with name 'personRepository': 
        Invocation of init method failed; nested exception is java.util.NoSuchElementException 

共有1个答案

裴实
2023-03-14
List<Person> findByFirstNameOrLastName(String firstName, String lastName);

是的,这是方法签名的问题。当方法名中存在“或”条件时,Spring数据需要2个参数。并且您需要为这两个参数传递一个key值。

或者,您可以在该方法上编写@query,如下所示:

@Query("SELECT p FROM person p WHERE p.lastName=:key OR p.firstName =:key")
List<AccountInformation> findByFirstNameOrLastName(@Param("key") String key);
 类似资料:
  • 我想使用一个RESTendpoint,将查询参数(qp1、qp2、qp3的组合)传递给它,例如: 为此,我定义了RESTendpoint,如下所示: 看起来查询生成是:...其中qp1=null,qp2=123,qp3=null 我想要实现的是,只调用URL中存在的那些查询参数,只调用那些应该构建查询的参数。 如果调用只使用qp1 http://localhost:8080/..../my-res

  • 首先,我的目标不是让您理解我的UDF代码,这样我就可以实现我的目标(我知道它实现了),而是了解为什么在以后的查询中调用它生成的字符串后会出现错误。 我做了一个自定义UDF,代码是: 它的目标是计算组件的状态(它开始工作、停止工作的位置),并在开始和停止之间的所有行中放置一个标识符。1/0意味着工作/不工作组件。 例如,这个问题: 将返回(在此表中): 直到这里都是正确的。现在,我只是补充一句 按u

  • 我在用户和电话号码之间有一种“一对一”的关系。因此,一个用户可以有多个电话号码。 在前端,我必须只提取登录用户的电话号码,或者如果用户是管理员,我必须显示所有用户的电话号码。我已经设法实现了这一部分,但我遇到的问题如下:在前端,用户还有一个“电话号码”搜索框。因此,如果用户或管理员搜索987(比如前3位数字),则应显示包含“987”且与其个人资料相关联的任何电话号码。如果用户是管理员,我应该显示包

  • 问题内容: 我试图将我的apk上传到Google Play上,并遇到错误消息:“您上传了可调试的APK。出于安全原因,您需要先禁用调试,然后才能在Google Play中发布。了解有关可调试的APK的更多信息。” 然后我在清单中写信,然后再试一次。我遇到了相同的错误,因此我将模块的build变量设置为release,并尝试再次生成apk,但是这次生成了此错误: 问题答案: 我不建议您关闭皮棉检查,

  • 我有一个名为TEST的表,列名为col1、col2、col3、col4。。。。。。。。。。所以,从信息模式来看。列我将获得有关此表对象的详细信息。 现在,我想通过从信息_模式中提供列名称,从测试表中构建一个select查询。柱。像这样,从information_schema中选择column_name。表_name='TEST'中的列。这会回来的 col1 col2 col3 我想在selectq