Sto lavorando su un piccolo progetto di webservice (java, axis2 ..). Esiste un sacco di codice esistente, il codice è diviso in molti livelli, dal primo livello in cui la richiesta viene interpretata in pochi livelli fino al livello dao. Nel livello dao vedo un codice di convalida intervallato in alcuni punti. Il progetto contiene tabelle che hanno più colonne univoche, quindi l'utente può inserire una singola colonna o una combinazione di colonne. La validazione in livello dao serve a verificare se esiste una combinazione di questo tipo, se non lanciare un'eccezione.
Mi è stato detto che questo tipo di controlli sono più legati allo schema e quindi devono essere nel livello dao. L'interfaccia dao ha metodi come "checkIfThisExists / checkComboExists", sarebbe un progetto "corretto"? Ho sempre pensato che il lavoro dao dovesse essere solo quello di inviare e ricevere dati, più come ottenere e impostare.