每个人如何解决与扩展JpaRepository的接口上的方法名相关的代码气味?在我的例子中,我有一个CpoWorkflowStepExecution
实体,我想通过id和日期查找。
Cpo工作流程步骤执行:
@Entity
@Table(name = "cpo_workflow_step_execution", catalog = "cup_orchestrator")
public class CpoWorkflowStepExecution implements java.io.Serializable {
private Integer workflowStepExecutionId;
private CpoWorkflowExecution cpoWorkflowExecution;
private CpoWorkflowStep cpoWorkflowStep;
private LocalDateTime startDate;
private LocalDateTime finishDate;
private String outcome;
...
工作流程步骤执行代表:
@Repository
public interface WorkflowStepExecRep extends JpaRepository<CpoWorkflowStepExecution, Integer>{
Optional<CpoWorkflowStepExecution> findByCpoWorkflowStep_WorkflowStepIdAndFinishDateIsNull(String workflowStepId);
声纳数据库:重命名此方法名称以匹配正则表达式“^[a-z][a-zA-Z 0 -9]*$”。
2条答案
按热度按时间polhcujo1#
我通过删除
_
字符更改了方法名称,它与SonarQube和JpaRepository完美配合:l2osamch2#
Spring Data使用
_
来解决多义性问题。您可以在使用Spring Data 存储库-属性表达式中找到更多详细信息。您可能希望将Sonarqube的规则java:S100从
^[a-z][a-zA-Z0-9]*$
更改为^[a-z][a-zA-Z0-9]+(_[a-zA-Z]+)*$
,但这可能会导致误用