Olá,
estou com erro abaixo mas não estou vendo aonde tenho que acertar…
se alguem puder me ajudar
abs
[TopLink Info]: 2008.11.14 12:35:42.586--ServerSession(24417480)--TopLink, version: Oracle TopLink Essentials - 2006.8 (Build 060830)
[TopLink Info]: 2008.11.14 12:35:44.152--ServerSession(24417480)--file:/D:/workspace_patt/Sushibar-pu2 login successful
[TopLink Warning]: 2008.11.14 12:35:44.376--UnitOfWork(17427094)--java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST.
javax.persistence.RollbackException: java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST.
at oracle.toplink.essentials.internal.ejb.cmp3.transaction.base.EntityTransactionImpl.commit(EntityTransactionImpl.java:109)
at oracle.toplink.essentials.internal.ejb.cmp3.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:45)
at bar.persistence.BaseDao1.create(BaseDao1.java:21)
--
public class Client1 {
public static void main(String[] args) throws InterruptedException {
Collection<NotaFiscalItem> itens= new ArrayList<NotaFiscalItem>();
BaseDao1<NotaFiscal> dao = new BaseDao1<NotaFiscal>();
NotaFiscal n = new NotaFiscal();
n.setDtemissao("11/11/2008");
n.setDtsaida("11/11/2008");
n.setNrcnpj("[telefone removido]");
NotaFiscalItem i = new NotaFiscalItem();
i.setNritemnota(1);
i.setCodproduto(10);
i.setQtdproduto(100);
itens.add(i);
i= new NotaFiscalItem();
i.setNritemnota(2);
i.setCodproduto(20);
i.setQtdproduto(500);
itens.add(i);
n.setItens(itens);
dao.create(n);
}
}
---
@Entity
public class NotaFiscal {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int nrnota;
private String dtemissao;
private String dtsaida;
private String nrcnpj;
@OneToMany(mappedBy="notaFiscal", fetch = FetchType.LAZY )
private Collection<NotaFiscalItem> itens;
public int getNrnota() {
return nrnota;
}
public void setNrnota(int nrnota) {
this.nrnota = nrnota;
}
public String getDtemissao() {
return dtemissao;
}
public void setDtemissao(String dtemissao) {
this.dtemissao = dtemissao;
}
public String getDtsaida() {
return dtsaida;
}
public void setDtsaida(String dtsaida) {
this.dtsaida = dtsaida;
}
public String getNrcnpj() {
return nrcnpj;
}
public void setNrcnpj(String nrcnpj) {
this.nrcnpj = nrcnpj;
}
public Collection<NotaFiscalItem> getItens() {
return itens;
}
public void setItens(Collection<NotaFiscalItem> itens) {
this.itens = itens;
}
}
----
@Entity
public class NotaFiscalItem {
@Id
private int iditem;
private int nrnota;
private int nritemnota;
private int codproduto;
private int qtdproduto;
@ManyToOne(fetch = FetchType.EAGER ,cascade=CascadeType.PERSIST)
@JoinColumn(name="nrnota", insertable=true, updatable=true)
private NotaFiscal notaFiscal;
public int getNrnota() {
return nrnota;
}
public void setNrnota(int nrnota) {
this.nrnota = nrnota;
}
public int getNritemnota() {
return nritemnota;
}
public void setNritemnota(int nritemnota) {
this.nritemnota = nritemnota;
}
public int getCodproduto() {
return codproduto;
}
public void setCodproduto(int codproduto) {
this.codproduto = codproduto;
}
public int getQtdproduto() {
return qtdproduto;
}
public void setQtdproduto(int qtdproduto) {
this.qtdproduto = qtdproduto;
}
public int getIditem() {
return iditem;
}
public void setIditem(int iditem) {
this.iditem = iditem;
}
public NotaFiscal getNotaFiscal() {
return notaFiscal;
}
public void setNotaFiscal(NotaFiscal notaFiscal) {
this.notaFiscal = notaFiscal;
}
}
---