JPA OneToMany

Antes de mais nada, já pesquisei no fórum e não achei nenhum problema semelhante com alguma solução.

Estou fazendo um cadastro mestre-detalhe usando JPA. A estrutura dos pojos é basicamente esta:

@Entity
public class Cenario implements Serializable {

    @Id
    @GeneratedValue(generator = "seqCenario", strategy = GenerationType.SEQUENCE)
    @Column(name="codcenario")
    private Integer codcenario;
    
    @OneToMany(mappedBy="cenario", cascade= CascadeType.ALL)
    private Set<CenarioCampos> campos;

    // gets e sets
}
@Entity
public class CenarioCampos implements Serializable  {

    @EmbeddedId
    private CenarioMontadoPK id;
    
    @ManyToOne(targetEntity=Cenario.class)
    @JoinColumn(name="codcenario", referencedColumnName="codcenario", insertable=false, updatable=false)
    private Cenario cenario;

    // gets e sets
}

consigo cadastrar acrescentando itens na minha lista, porém na seguinte situação ocorre problema:

tenho um cenario cadastrado c/ 5 campos
entro no cadastro, excluo 1 campo e gravo
ao consultar novamente, ele não estará mais na lista, porém se eu pesquisar no banco, o item estará lá
e quando eu reinicio o glassfish e entro novamente no cadastro, o campo que havia sido “excluído” continua lá.

na exclusão do ítem:

CenarioCampos cc = (CenarioCampos)getListaCampos().getRowData();
getCenario().getCampos().remove(cc);

para gravar:

this.getEntityManager().getTransaction().begin();
getEntityManager().merge(getCenario());
this.getEntityManager().getTransaction().commit();

Alguém já conseguiu fazer isso funcionar direito ???

Ninguém teve problemas com isso ??