Abdujaparov
04-04-2009, 18:31
Ciao a tutti,
sto cercando di capire come funziona hibernate e volevo chiedervi una cosa.
Seguendo il tutorial, sul sito di hibernate, sto cercando di caricare una lista di elementi (Giocatore). Ora vorrei inserire tutti gli utenti in blocco e fare il commit solo alla fine dopo aver caricato tutti gli elementi.
Ho provato a scrivere il codice in questo modo:
public void inserisciGiocatori(List<Giocatore> giocatori){
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Iterator<Giocatore> i = giocatori.iterator();
System.out.println("Sto iniziando ad inserire i giocatori.....");
while(i.hasNext()){
Giocatore g = i.next();
session.save(g);
}
session.getTransaction().commit();
System.out.println("Inserimento terminato!");
}
Solo che mi viene generato questo errore:
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
Come posso risolvere?
Grazie a tutti, ciao ciao.
sto cercando di capire come funziona hibernate e volevo chiedervi una cosa.
Seguendo il tutorial, sul sito di hibernate, sto cercando di caricare una lista di elementi (Giocatore). Ora vorrei inserire tutti gli utenti in blocco e fare il commit solo alla fine dopo aver caricato tutti gli elementi.
Ho provato a scrivere il codice in questo modo:
public void inserisciGiocatori(List<Giocatore> giocatori){
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Iterator<Giocatore> i = giocatori.iterator();
System.out.println("Sto iniziando ad inserire i giocatori.....");
while(i.hasNext()){
Giocatore g = i.next();
session.save(g);
}
session.getTransaction().commit();
System.out.println("Inserimento terminato!");
}
Solo che mi viene generato questo errore:
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
Come posso risolvere?
Grazie a tutti, ciao ciao.