Salve ragazzi ho un problema, nel metodo che sto tentando di fare vorrei riuscire ad aggiornare i dati di un entit� utente che ha un rapporto uno a molti con altre due entit� ovvero Annuncio ed Acquisto.
In piu vi � un altra entit� che ha un rapporto molti a molti con Utente ovvero Ruolo.
Quando nel DAO vado a fare il metodo update come a faccio a far aggiornare i dati dell'utente non perdendomi i dati di persistenza ovvero le liste annuncio,acquisto e ruolo?
codice:
public void updateSavingList(Object o, EntityManager entityManager) throws Exception {
if (o == null || !(o instanceof Utente)) {
throw new Exception("Problema valore in input");
}
Utente utenteInstance = (Utente) o;
Session session = (Session) entityManager.getDelegate();
session.saveOrUpdate(utenteInstance);
utenteInstance = entityManager.merge(utenteInstance);
}
Ho provato cosi con il risultato che le liste annunci e acquisto rimangono intatte per� vengono eliminati i valori nella tabella (ovvero le foreing key) che contiente la relazione molti a molti cosi perdendo la relazione.
codice:
public void updateSavingList(Object o, EntityManager entityManager) throws Exception {
if (o == null || !(o instanceof Utente)) {
throw new Exception("Problema valore in input");
}
Utente utenteInstance = (Utente) o;
Session session = (Session) entityManager.getDelegate();
session.save(utenteInstance);
utenteInstance = entityManager.merge(utenteInstance);
}
Ho provato anche cosi ma il risultato � che vengono si tenuti in piedi tutti i dati di persistenza ma al momento dell'update viene fatta una insert di un nuovo utente vanificando tutto.
Spero di essermi spiegato e vi ringrazio anticipatamente per una risposta.
Un saluto