Class NewsService
java.lang.Object
com.modulink.Model.News.NewsService
Service Layer per la gestione della logica di business relativa alle Notizie.
Questa classe funge da intermediario tra il controller e il repository NewsRepository,
esponendo metodi transazionali per la creazione, lettura e cancellazione delle news.
- Since:
- 1.0.0
- Version:
- 1.1.2
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final NewsRepositoryIl repository iniettato per l'accesso ai dati. -
Constructor Summary
ConstructorsConstructorDescriptionNewsService(NewsRepository newsRepository) Costruttore per Dependency Injection. -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete(int id) Elimina una notizia dal sistema dato il suo ID.findAll()Recupera l'elenco completo di tutte le notizie presenti nel sistema.voidsave(NewsEntity news) Salva o aggiorna una notizia nel database.
-
Field Details
-
newsRepository
Il repository iniettato per l'accesso ai dati.- Since:
- 1.0.0
-
-
Constructor Details
-
NewsService
Costruttore per Dependency Injection.- Parameters:
newsRepository- L'istanza del repository.- Since:
- 1.0.0
-
-
Method Details
-
findAll
Recupera l'elenco completo di tutte le notizie presenti nel sistema.Utilizza il metodo standard
ListCrudRepository.findAll(). Non applica paginazione, quindi attenzione a potenziali problemi di performance con dataset molto ampi.- Returns:
- Lista di tutte le entità
NewsEntity. - Since:
- 1.0.0
-
save
Salva o aggiorna una notizia nel database.L'operazione è annotata come
Transactional(di default readOnly=false) per garantire l'atomicità del commit sul database. Se l'entità possiede già un ID esistente, verrà eseguito un update (merge), altrimenti un insert (persist).- Parameters:
news- L'entità notizia da persistere.- Since:
- 1.0.0
-
delete
@Transactional public void delete(int id) Elimina una notizia dal sistema dato il suo ID.Operazione transazionale distruttiva (Hard Delete).
- Parameters:
id- L'identificativo univoco della notizia da rimuovere.- Since:
- 1.0.0
-