Tenho uma classe que possui uma lista.
@Entity
@Table(name = "loteRetorno")
public class LoteRetorno {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_loteRetorno", unique = true, nullable = false)
private int idLoteRetorno;
@Column(name = "valor1", nullable = false)
private int valor1;
@Column(name = "valor2", nullable = false)
private int valor2;
@OneToMany(fetch = FetchType.LAZY)
@JoinColumn(name = "id_dadosloterecebido")
private List<DadosLoteRetorno> dadosLote;
//get´s set´s
}
a classe da lista é a seguinte:
@Entity
@Table(name = "DadosLoteRetorno")
public class DadosLoteRetorno{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_dadosloterecebido", unique = true, nullable = false)
private int idDadosLoteRecebido;
@Column(name = "numero", length = 20, nullable = false)
private String numero;
@Column(name = "nome", length = 100, nullable = false)
private String nome;
//get´s set´s
}
estou querendo fazer um insert no banco. Monto a LoteRetorno e populo a lista de DadosLoteRetorno.
Entretanto quando faço um HibernateUtil.getSession().saveOrUpdate(LoteRetorno); ou HibernateUtil.getSession().save(LoteRetorno); ocorre a execption abaixo:
Hibernate: insert into loteguiaretorno ....
Hibernate: update dadosloteretorno set id_dadosloterecebido=? where id_dadosloterecebido=?
2009-08-31 16:04:15,486 ERROR [http-80-2] (AbstractFlushingEventListener.java:301) - Could not synchronize database state with session
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.DadosLoteRetorno
como resolvo esse erro ?