Interface TaskRepository

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

public interface TaskRepository extends org.springframework.data.jpa.repository.JpaRepository<TaskEntity, TaskID>
Repository JPA per la gestione dell'entità TaskEntity.

Questa interfaccia fornisce metodi per eseguire operazioni CRUD e query personalizzate sulla tabella "task", inclusa la ricerca per utente creatore, il recupero dell'ultimo task inserito per un'azienda e operazioni di cancellazione native.

Version:
1.4.2
Author:
Modulink Team
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    deleteAllByAziendaNative(int idAzienda)
    Elimina tutti i task di un'azienda specifica utilizzando una query nativa SQL.
    void
    deleteByIdNative(int idTask, int idAzienda)
    Elimina un task specifico dal database utilizzando una query nativa SQL.
    Trova tutti i task creati da uno specifico utente.
    Recupera il task con l'ID più alto associato a una specifica 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

    • findByUtenteCreatore

      List<TaskEntity> findByUtenteCreatore(UtenteEntity utenteCreatore)
      Trova tutti i task creati da uno specifico utente.
      Parameters:
      utenteCreatore - L'entità dell'utente che ha creato i task.
      Returns:
      Una lista di task creati dall'utente specificato.
    • findMaxByAzienda

      @Query("SELECT t FROM TaskEntity t WHERE t.azienda = :azienda AND t.id_task = (SELECT MAX(t2.id_task) FROM TaskEntity t2 WHERE t2.azienda = :azienda)") TaskEntity findMaxByAzienda(@Param("azienda") AziendaEntity azienda)
      Recupera il task con l'ID più alto associato a una specifica azienda.

      Questo metodo è utile per determinare l'ultimo task inserito per un'azienda. Utilizza una query JPQL personalizzata.

      Parameters:
      azienda - L'entità dell'azienda per cui cercare il task.
      Returns:
      Il task con l'ID massimo per l'azienda data, o null se non presente.
    • deleteByIdNative

      @Modifying @Query(value="DELETE FROM task WHERE ID_Task = :idTask AND ID_Azienda = :idAzienda", nativeQuery=true) void deleteByIdNative(@Param("idTask") int idTask, @Param("idAzienda") int idAzienda)
      Elimina un task specifico dal database utilizzando una query nativa SQL.

      Questo metodo esegue una cancellazione fisica del record basata sulla chiave primaria composta.

      Parameters:
      idTask - L'ID del task da eliminare.
      idAzienda - L'ID dell'azienda associata al task.
    • deleteAllByAziendaNative

      @Modifying @Query(value="DELETE FROM task WHERE ID_Azienda = :idAzienda", nativeQuery=true) void deleteAllByAziendaNative(@Param("idAzienda") int idAzienda)
      Elimina tutti i task di un'azienda specifica utilizzando una query nativa SQL.
      Parameters:
      idAzienda - L'ID dell'azienda di cui eliminare i task.