Erro ao Salvar Tabela Filha

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;

Davi,

Fiz assim :

Porem ele não grava os itens :

                         emAux.persist(objetoguia);
                         emAux.flush();
                         
                         
                         Cadguia guia = new Cadguia(); 
                         guia.setCodguia(objetoguia.getCodguia());
                          System.out.print("fsfsa"+objetoguia.getCodguia());
             
                            Itensguiat it1 = new Itensguiat();
                            it1.setQtdsol(997);
                            it1.setCodguia(guia);
                            emAux.persist(it1);