Java 我在JPA中的方法命名是否有问题?
我有一个关于Java 我在JPA中的方法命名是否有问题?,java,mysql,spring,jpa,spring-data-jpa,Java,Mysql,Spring,Jpa,Spring Data Jpa,我有一个关于JpaRepository的简单问题 首先,这是我的实体类 package com.surveypedia.domain.pointhistory; 进口龙目吸气剂; 导入lombok.noargsconstuctor; 导入javax.persistence.*; @诺尔格构装师 @吸气剂 @实体 @表(name=“pointhistory”) 公共课历史{ @身份证 @GeneratedValue(策略=GenerationType.AUTO) 私有整数ph_码; @列(null
JpaRepository
的简单问题
首先,这是我的实体类
package com.surveypedia.domain.pointhistory;
进口龙目吸气剂;
导入lombok.noargsconstuctor;
导入javax.persistence.*;
@诺尔格构装师
@吸气剂
@实体
@表(name=“pointhistory”)
公共课历史{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
私有整数ph_码;
@列(nullable=false)
私人字符串电子邮件;
@列(nullable=false,name=“s_代码”)
私有整数s_码;
@列(nullable=false)
私有整数点变化;
@列(nullable=false)
@枚举(EnumType.STRING)
私有点历史类型ph_类型;
公共点历史记录(字符串电子邮件、整数s_代码、整数点更改、点历史记录类型ph_类型){
this.email=电子邮件;
此s_代码=s_代码;
this.pointchange=pointchange;
this.ph_type=ph_type;
}
}
下面是我的存储库界面,用于执行CRUD操作
package com.surveypedia.domain.pointhistory;
导入com.surveypedia.tools.SQL;
导入org.springframework.data.jpa.repository.JpaRepository;
导入org.springframework.data.jpa.repository.Query;
导入java.util.List;
公共接口点HistoryRepository扩展了JpaRepository{
列出findByEmail(字符串电子邮件);
PointHistory findByS_CodeandMailandPh_类型(整数s_代码、字符串电子邮件、PointHistoryType ph_类型);
}
启动spring boot项目后,出现以下错误:
java.lang.IllegalArgumentException: Failed to create query for method public abstract com.surveypedia.domain.pointhistory.PointHistory com.surveypedia.domain.pointhistory.PointHistoryRepository.findByS_codeAndEmailAndPh_type(java.lang.Integer,java.lang.String,com.surveypedia.domain.pointhistory.PointHistoryType)! No property s found for type PointHistory!
我尝试使用正确的参数
findByEmailAndS\u code和ph\u type
,但得到了相同的错误日志。我的方法有什么问题吗?问题是下划线(
)仅限于spring数据jpa mathod名称中的类层次结构。它基于Java中使用camecase的简单约定,您正在打破这一点
在实体和方法名称中,将字段ph\u code
重命名为phCode
,将s\u code
重命名为sCode