【发布时间】:2018-01-03 13:41:33
【问题描述】:
我用的是弹簧靴。
执行时
oneJpaRepository.save(object) 如果不存在主键,则该对象保存它,如果存在,则更新该对象。
如何通过另一个不是主键的属性来更新这个对象?例如 oneJpaRepository.saveByCodigo(Object)
注意:我已经创建了一个函数 updateObjectByOtherAtributte 并且它可以工作,但我想知道是否有办法通过
@Transactional
@Modifying(clearAutomatically = true)
@Query("UPDATE Concepto c SET c.idBui = :#{#concepto.getIdBui()}," +
"c.descripcion = :#{#concepto.getDescripcion()}," +
"c.admiteReglas = :#{#concepto.getAdmiteReglas()}," +
"c.tieneCantidadFija = :#{#concepto.getTieneCantidadFija()}," +
"c.tieneValorFijo = :#{#concepto.getTieneValorFijo()}," +
"c.vigencia = :#{#concepto.getVigencia()}," +
"c.valor = :#{#concepto.getValor()}, " +
"c.detalles = :#{#concepto.getDetalles()}" +
" WHERE c.codigo = :#{#concepto.getCodigo()}")
int updateConcepto(@Param("concepto") Concepto concepto);
int resultadoUpdate = conceptoJpaRepository.updateConcepto(concepto);
if (resultadoUpdate == 0){ conceptoJpaRepository.save(concepto)
【问题讨论】:
-
请提供一些你已经完成的代码。
-
我编辑答案。
标签: java hibernate spring-boot spring-data-jpa