Abaixo um exemplo meramente ilustrativo:
Para contextualizar esse exemplo usa o SpringData.
@Repository
public interface Mpdt007Repository extends CrudRepository<Mpdt007Entity, Long>{
@Query("select m from Tabela01 m where m.codent = :codent ")
public Mpdt007Entity metodo01(@Param("codent")String entidad);
@Query("select m from Tabela01 m where m.codent = :codent and m.centalta = :centalta ")
public Mpdt007Entity metodo02(@Param("codent")String entidad,@Param("centalta") String centalta);
default Mpdt007Entity metodo03(String entidad,String centalta) {
Mpdt007Entity mpdt007Entity = metodo01(entidad);
if (mpdt007Entity==null) {
mpdt007Entity = metodo02(entidad,centalta);
}
return mpdt007Entity;
}
}
Eu tenho um entendimento sobre essa solução mas gostaria de uma outra opinião .