Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为名为“的实体变量创建Spring JPARepository方法”;cId";_Jpa_Spring Data Jpa - Fatal编程技术网

为名为“的实体变量创建Spring JPARepository方法”;cId";

为名为“的实体变量创建Spring JPARepository方法”;cId";,jpa,spring-data-jpa,Jpa,Spring Data Jpa,我有实体类 class Policy { private String customerId; private String sicNumber; private String cId; /* more variables can be ignored */ } 现在在JPA存储库接口中,我想创建一个基于sicNumber和cId进行查找的方法 以下是我的尝试 Policy findBySicNumberAndCId(String policyNumber, String cId) ;

我有实体类

class Policy
{
private String customerId;

private String sicNumber;

private String cId;
/*
more variables can be ignored
*/
}
现在在JPA存储库接口中,我想创建一个基于sicNumber和cId进行查找的方法

以下是我的尝试

Policy findBySicNumberAndCId(String policyNumber, String cId) ; 
上述方法要求spring在实体类中搜索“CId”属性

同样,我尝试了几乎所有的组合

Policy findBySicNumberAndcId(String policyNumber, String cId) ; 
上述方法导致spring查找“AndcId”

现在的问题是,实体类中以right属性为目标的方法名应该是什么


提前感谢

问题在于Spring数据JPA从方法名称中形成查询的方式。它遵循常规的驼峰式大小写方法,其中字段名是推断的。按照下面的约定,如果方法名连续使用大写字母,则字段名将推断为大写

因此,在您的例子中,findBySicNumberAndCId——推断出的字段是CId&无法找到它。 解决此问题的一种方法是在方法名的开头使用CId,并使用小写字母“c”,即findBycIdAndSicNumber

可选地,您可以考虑重命名变量以避免这些问题,或者使用@查询和定义查询,如果重命名变量是不可能的。 有关此问题的更多信息:


非常感谢