Ciao, scusate se posto questa domanda nella sezione Java anche se potrebbe essere inserita anche in una sezione più generica. Alla fine dovendo implementare tutto in java forse questa domanda sta bene anche qui.

Ho un dubbio per gli oggetti DAO. Supponendo di avere un oggetto DTO Document e il suo rispettivo DAO

Codice PHP:
public class Document{
  private 
String title
  private 
String ID
  private 
String author;  

}
Document(){}
e i metodi di setter e getter che per semplicità ometto 
Ora se ho capito bene, i DAO implementano i metodi CRUD (create, read, update, delete)

e sono quelli pubblici e accessibili dall'oggeto DTO, nel nostro esempio Document
per usare il metodo update del DAO devo scrivere qualcosa del tipo:

Codice PHP:

DocumentDAO
.update(document); 
Ora da alcuni esempi che ho visto il metodo update prende l'oggetto documento ne estrae tutti i membri, conoscendo l'id del documento aggiorna l'intero record sul DB.
Qui nasce la mia perplessità- Se in realtà devo aggiornare solo il campo autore io devo comunque invocare il metodo update della classe DAODocument la quale farà anche l'aggiornamento degli altri campi anche se non è strettamente necessario perchè non sono cambiati. Non si potrebbe effettuare solo l'aggiornamento del campo che è cambiato e comunicarlo mediate il metodo update ? Sarebbe qualcosa di non conforme alla logica DAO?.
Mi veniva im mente di avere un metodo update con una firma del tipo:
Codice PHP:


public final int ALL 0
public final 
int AUTHOR 1
public final 
int TITLE ;
....
 class 
DAODocument(){
public 
update (Document dint member){
 if(
null == d.getId() || d.isEmpty())
     return ;
  switch(
member)
       case 
ALL 
           updateAll
d);
       case 
AUTHOR
          updateAuthor
(d);
       case 
TITLE
           upadteTitle
(d);
}
updateAll(Document d){
   
//set per l'aggiornamento di tutto 
}
 
private 
updateAuthor(Document d){
//set per l'aggiornamento del solo campo author

}
private 
updateTitle(Document d){
//set per l'aggiornamento del solo campo title


non so se questa cosa ha un senso, sono pittosto nuovo alla logica dei DAO.
Forse potrebbbe essere sensata se si aggiorna un campo solamente.
Se immaginiamo che la classe Document ha 10 attributi, e dobbiamo aggiornarne 5 si utilizza direttamente update(d, ALL); ma se devo aggiornarne solo uno forse ha senso questa tecnica.
Grazie in anticipo