Interface RuoloRepository

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

@Repository public interface RuoloRepository extends org.springframework.data.jpa.repository.JpaRepository<RuoloEntity, RuoloID>
Interfaccia di repository per gestire la persistenza e l'accesso ai dati dell'entità RuoloEntity.

Questa interfaccia estende JpaRepository, ereditando metodi standard per effettuare:

  • Operazioni CRUD (Create, Read, Update, Delete) sui ruoli aziendali.
  • Paginazione e ordinamento dei record.
  • Operazioni di batch.

Spring Data JPA fornirà automaticamente l'implementazione di questa interfaccia a runtime. La chiave primaria utilizzata è RuoloID, il che implica che metodi standard come findById richiederanno un'istanza completa della chiave composta (ID Ruolo + ID Azienda) per identificare univocamente una risorsa.

Version:
1.0
Author:
Modulink Team
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Recupera l'elenco completo di tutti i ruoli configurati per una specifica azienda.
    int
    findMaxIdByAzienda(int idAzienda)
    Individua l'identificativo numerico massimo (ID_Ruolo) attualmente in uso per una determinata azienda.

    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

    • findAllByAzienda

      List<RuoloEntity> findAllByAzienda(AziendaEntity azienda)
      Recupera l'elenco completo di tutti i ruoli configurati per una specifica azienda.

      Sfrutta la generazione automatica delle query di Spring Data JPA basata sul nome del metodo. Filtra i risultati applicando una clausola WHERE sulla foreign key dell'azienda.

      Parameters:
      azienda - L'entità AziendaEntity di cui si vogliono ottenere i ruoli.
      Returns:
      Una List di RuoloEntity associati all'azienda indicata.
      Since:
      1.0.0
    • findMaxIdByAzienda

      @Query("SELECT COALESCE(MAX(r.id_ruolo), 0) FROM RuoloEntity r WHERE r.azienda.id_azienda = :idAzienda") int findMaxIdByAzienda(@Param("idAzienda") int idAzienda)
      Individua l'identificativo numerico massimo (ID_Ruolo) attualmente in uso per una determinata azienda.

      Utilizza una query JPQL custom per aggregare i dati. La funzione COALESCE garantisce che, qualora l'azienda non abbia ancora alcun ruolo registrato, venga restituito il valore predefinito 0 anziché null, prevenendo potenziali errori di unboxing.

      Parameters:
      idAzienda - L'identificativo primario dell'azienda su cui effettuare la ricerca.
      Returns:
      L'ID numerico massimo trovato, o 0 se non sono presenti record.
      Since:
      1.1.0