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?
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.saveOrUpdate(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.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); }
Spero di essermi spiegato e vi ringrazio anticipatamente per una risposta.
Un saluto

Rispondi quotando