package br.usp.nds.remote.persistencia; import java.io.Serializable; import java.util.List; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Transient; @Entity public class GeocercaPoligonal extends Entidade implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int codigo; private String nome; @Transient private List coordenadas; public void atualizar() { if (codigo == 0) { em.persist(this); for (GeocercaPoligonalCoordenada coordenada : coordenadas) { coordenada.setGeocerca(this); em.persist(coordenada); } } else { GeocercaPoligonal gp = em.find(GeocercaPoligonal.class, codigo); gp.setNome(nome); em.createNamedQuery("GeocercaPoligonalCoordenada.remover").setParameter("geocerca", codigo).executeUpdate(); for (GeocercaPoligonalCoordenada coordenada : coordenadas) { coordenada.setGeocerca(gp); em.persist(coordenada); } } } public List getCoordenadas() { return coordenadas; } public void setCoordenadas(List coordenadas) { this.coordenadas = coordenadas; } public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } }