Pessoal , estou tentando salvar a tabela filha, porem esta apresentando o erro abaixo :
aused by: java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST: br.uniplan.modelo.planouni.Cadguia[ codguia=null ].
at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.discoverUnregisteredNewObjects(RepeatableWriteUnitOfWork.java:304)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.calculateChanges(UnitOfWorkImpl.java:702)
Segue abaixo meus codigos :
public void salvaobj(Cadguia objetoguia,List<Itensguia> itens,String Hora, String Data) {
try {
emAux.persist(objetoguia);
Cadguia guia = new Cadguia();
Itensguiat it1 = new Itensguiat();
it1.setQtdsol(997);
it1.setCodguia(guia);
emAux.persist(it1);
******************************* Entidades
public class Itensguiat implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "qtdsol")
private Integer qtdsol;
@Column(name = "qtdaut")
private Integer qtdaut;
// @Max(value=?) @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
@Column(name = "ch")
private BigDecimal ch;
@Column(name = "filme_m2")
private BigDecimal filmeM2;
@Column(name = "status")
private Character status;
@Column(name = "codsitubloq")
private Integer codsitubloq;
@Size(max = 100)
@Column(name = "mensagem")
private String mensagem;
@Size(max = 1)
@Column(name = "auditoria")
private String auditoria;
@Size(max = 1)
@Column(name = "statusaud")
private String statusaud;
@Column(name = "dataaud")
@Temporal(TemporalType.DATE)
private Date dataaud;
@Size(max = 200)
@Column(name = "obsaud")
private String obsaud;
@Column(name = "valfator")
private BigDecimal valfator;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@JoinColumns({
@JoinColumn(name = "codtab", referencedColumnName = "codtab"),
@JoinColumn(name = "codproc", referencedColumnName = "codproc"),
@JoinColumn(name = "seqproc", referencedColumnName = "seqproc")})
@ManyToOne
private Tabproc tabproc;
@JoinColumn(name = "codguia", referencedColumnName = "codguia", updatable = true, insertable = true)
@ManyToOne
private Cadguia codguia;
**
public class Cadguia implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "codguia")
private Integer codguia;
@Column(name = "complemento")
private String complemento;
// @OneToMany
// private List<Itensguia> Itensdaguias;
//@OneToMany(cascade = CascadeType.ALL, mappedBy = "cadguia")
@OneToMany
private List<Itensguia> itmcadguiaList;