Java 具有多个参数的方法(Sonarint)

Java 具有多个参数的方法(Sonarint),java,sonarlint,primavera,Java,Sonarlint,Primavera,我需要减小这个Update方法的大小,因为sonalint告诉我参数太多(它只支持7个) 作为Spring的新手,我想知道可以做些什么来减少参数列表。 其思想是只传递一个包含所有变量的对象 那么如何将对象的每个变量与查询中的值链接起来? @Modifying @Transactional @Query(value = "UPDATE DETARC SET DETVAL=:PDETVAL, DETUSU=:PDETUSU, DETTOT=:PDETTOT, DETTIP=:PDETTIP, DET

我需要减小这个
Update
方法的大小,因为
sonalint
告诉我参数太多(它只支持7个)

作为Spring的新手,我想知道可以做些什么来减少参数列表。 其思想是只传递一个包含所有变量的对象

那么如何将对象的每个变量与查询中的值链接起来?

@Modifying
@Transactional
@Query(value = "UPDATE DETARC SET DETVAL=:PDETVAL, DETUSU=:PDETUSU, DETTOT=:PDETTOT, DETTIP=:PDETTIP, DETTI3=:PDETTI3, DETTI2=:PDETTI2, DETSUB=:PDETSUB, DETSU1=:PDETSU1, DETSEG=:PDETSEG, DETSE4=:PDETSE4, DETSE1=:PDETSE1, DETREM=:PDETREM, DETPRI=:PDETPRI, DETPR1=:PDETPR1, DETNU2=:PDETNU2, DETIN8=:PDETIN8, DETIN7=:PDETIN7, DETIN6=:PDETIN6, DETIDE=:PDETIDE, DETFEC=:PDETFEC, DETFE4=:PDETFE4, DETFE1=:PDETFE1, DETCUO=:PDETCUO, DETCTA=:PDETCTA, DETCOT=:PDETCOT, DETCOM=:PDETCOM, DETCO9=:PDETCO9, DETCO8=:PDETCO8, DETCO2=:PDETCO2, DETCO1=:PDETCO1, DETC11=:PDETC11, DETC10=:PDETC10, DETAHO=:PDETAHO WHERE DETNUM=:PDETNUM && DETNU3=:PDETNU3  && DETPAG=:PDETPAG && DETSEC=:PDETSEC ;", nativeQuery = true)
Integer Actualizar(@Param("PDETVAL") BigDecimal Valor_Conciliado, @Param("PDETUSU") String Usuario,
    @Param("PDETTOT") BigDecimal Totat_Detalle, @Param("PDETTIP") BigDecimal Tipo_de_Movimiento,
    @Param("PDETTI3") String Tipo_Identif_Subsidi, @Param("PDETTI2") String Tipo_de_fondo,
    @Param("PDETSUB") BigDecimal Subtotal_fondo, @Param("PDETSU1") BigDecimal Subtotal_retenciones,
    @Param("PDETSEG") String Segundo_Apellido, @Param("PDETSE4") BigDecimal Seguros,
    @Param("PDETSE1") String Segundo_Nombre, @Param("PDETREM") BigDecimal Remunerac_Asegurable,
    @Param("PDETPRI") String Primer_Apellido, @Param("PDETPR1") String Primer_Nombre,
    @Param("PDETNU2") String Numero_identificaci, @Param("PDETIN8") String Indicador_2,
    @Param("PDETIN7") String Indicador_3, @Param("PDETIDE") String identificador_subsid,
    @Param("PDETFEC") String Fecha_de_Movimiento, @Param("PDETFE1") String Fecha_Finalización,
    @Param("PDETCUO") BigDecimal Cuotas_Conciladas, @Param("PDETCTA") BigDecimal Cta_Comp_Tiempo_Serv,
    @Param("PDETCOT") BigDecimal Cotizac_Obligatoria, @Param("PDETCOM") BigDecimal Comisión_fija,
    @Param("PDETCO9") BigDecimal Comisión_porcentaje, @Param("PDETCO8") BigDecimal Contribución_al_IPSS,
    @Param("PDETCO2") BigDecimal Cotiz_Vol_Empl, @Param("PDETCO1") BigDecimal Cot_Vol_Con_Fin_Prev,
    @Param("PDETC11") BigDecimal Cotiz_Obl_Comple_Emp, @Param("PDETC10") BigDecimal Cotiz_Obl_Comple_Afi,
    @Param("PDETAHO") BigDecimal Cot_Vol_Sin_Fin_Prev, @Param("PDETNUM") BigDecimal Valor32,
    @Param("PDETNU3") BigDecimal Número_Planilla_Int, @Param("PDETPAG") BigDecimal Página_de_planilla,
    @Param("PDETSEC") BigDecimal Secuencia, @Param("PDETFE4") String Fecha_Ult_Modificac,
    @Param("PDETIN6") String Indicador_1
);
请帮帮我,我已经讨论这个话题好几天了。
谢谢

格式化的代码和文本以便于阅读为什么不使用VO对象将所有这些作为参数?