Interface ClienteRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<Cliente,String>, org.springframework.data.repository.Repository<Cliente,String>

public interface ClienteRepository extends org.springframework.data.repository.CrudRepository<Cliente,String>
Logica de negocio: Spring autogenera todos los DAOs y otros metodos del repositorio, aqui solo se implementan los metodos adicionales que se necesiten.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    Obtencion de la lista de clientes y descuentos a partir de una cierta edad.

    Methods inherited from interface org.springframework.data.repository.CrudRepository

    count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findAllById, findById, save, saveAll
  • Method Details

    • getListaDescuentos

      @Query("SELECT new giis.demo.descuento.DescuentoDisplayDTO(\n\tid,\n\tCASE WHEN nuevo=\'S\' and cupon=\'N\' and tarjeta=\'N\' then 15\n\t\tWHEN nuevo=\'S\' and cupon=\'S\' and tarjeta=\'N\' then 20\n\t\tWHEN nuevo=\'N\' and cupon=\'S\' and tarjeta=\'N\' then 20\n\t\tWHEN nuevo=\'N\' and cupon=\'N\' and tarjeta=\'S\' then 10\n\t\tWHEN nuevo=\'N\' and cupon=\'S\' and tarjeta=\'S\' then 30\n\t\tELSE 0 END)\nFROM Cliente\nWHERE NOT (nuevo=\'S\' AND tarjeta=\'S\')\n\tAND NOT (nuevo=\'N\' AND tarjeta=\'N\' AND cupon=\'N\')\n\tAND (edad >= :edad OR :edad IS NULL)\n") List<DescuentoDisplayDTO> getListaDescuentos(@Param("edad") Integer edad)
      Obtencion de la lista de clientes y descuentos a partir de una cierta edad. Podria implementarse en un servicio o con codigo java en el repositorio, pero se muestra aqui una de las formas de definir de forma declarativa la query mediante JQL. Notar que la sintaxis es como SQL, pero en este caso, la estructura devuelta no es un objeto Cliente, sino un DTO. Ver mas informacion en: https://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-creating-database-queries-with-the-query-annotation/ y en: https://stackoverflow.com/questions/36328063/how-to-return-a-custom-object-from-a-spring-data-jpa-group-by-query
    • findAll

      List<Cliente> findAll()
      Specified by:
      findAll in interface org.springframework.data.repository.CrudRepository<Cliente,String>