Interface AziendaRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<AziendaEntity, Integer>, org.springframework.data.jpa.repository.JpaRepository<AziendaEntity, Integer>, org.springframework.data.repository.ListCrudRepository<AziendaEntity, Integer>, org.springframework.data.repository.ListPagingAndSortingRepository<AziendaEntity, Integer>, org.springframework.data.repository.PagingAndSortingRepository<AziendaEntity, Integer>, org.springframework.data.repository.query.QueryByExampleExecutor<AziendaEntity>, org.springframework.data.repository.Repository<AziendaEntity, Integer>

public interface AziendaRepository extends org.springframework.data.jpa.repository.JpaRepository<AziendaEntity, Integer>
Interfaccia di persistenza per l'entità AziendaEntity.

Estende JpaRepository per fornire un'astrazione completa sul livello di accesso ai dati (DAL). Include il supporto nativo per operazioni CRUD, paginazione, ordinamento e flush del contesto di persistenza.

I metodi definiti in questa interfaccia beneficiano dell'implementazione proxy dinamica di Spring Data, traducendo le firme dei metodi in query JPQL o SQL ottimizzate al momento del bootstrap dell'applicazione context.

Since:
1.0.0
Version:
1.5.2
Author:
Modulink Team
See Also:
  • JpaRepository
  • CrudRepository
  • Method Summary

    Modifier and Type
    Method
    Description
    Esegue una query di selezione per individuare un'azienda tramite la Partita IVA.
    Recupera l'entità associata a uno specifico recapito telefonico.

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

    count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, save

    Methods inherited from interface org.springframework.data.jpa.repository.JpaRepository

    deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlush

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

    findAll, findAllById, saveAll

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

    findAll

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

    findAll

    Methods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor

    count, exists, findAll, findBy, findOne
  • Method Details

    • findByPiva

      Optional<AziendaEntity> findByPiva(String piva)
      Esegue una query di selezione per individuare un'azienda tramite la Partita IVA.

      La query generata corrisponderà semanticamente a: SELECT a FROM AziendaEntity a WHERE a.piva = :piva.

      Poiché la colonna P_IVA è soggetta a vincolo di unicità, il risultato è incapsulato in un Optional. Questo approccio previene NullPointerException e favorisce uno stile di programmazione funzionale.

      Parameters:
      piva - La Partita IVA da ricercare (case-sensitive a seconda del collation del DB).
      Returns:
      Optional contenente l'entity se presente, altrimenti Optional.empty().
      Since:
      1.0.0
    • findByTelefono

      Optional<AziendaEntity> findByTelefono(String telefono)
      Recupera l'entità associata a uno specifico recapito telefonico.

      Utilizzato per validazioni di unicità durante i processi di onboarding o modifica anagrafica. Sfrutta l'indice univoco sulla colonna Telefono per garantire performance O(1) o O(log N).

      Parameters:
      telefono - La stringa del numero telefonico (si raccomanda la normalizzazione E.164 o standard locale prima della query).
      Returns:
      Optional contenente l'entity trovata.
      Since:
      1.2.1