Olá pessoal,
Estou fazendo um método de inserção, que está dando um erro:EntityManager is closed();
Para fazer a inserção uso a entidade, RTS que está abaixo:
@Entity
@Table(name = “rts”)
@NamedQueries({@NamedQuery(name = “Rts.findAll”, query = “SELECT r FROM Rts r”),
@NamedQuery(name = “Rts.findByRtsId”, query = “SELECT r FROM Rts r WHERE r.rtsId = :rtsId”),
@NamedQuery(name = “Rts.findByCodigo”, query = “SELECT r FROM Rts r WHERE r.codigo = :codigo”),
@NamedQuery(name = “Rts.findByBts”, query = “SELECT r FROM Rts r WHERE r.bts = :bts”),
@NamedQuery(name = “Rts.findByEdicao”, query = “SELECT r FROM Rts r WHERE r.edicao = :edicao”),
@NamedQuery(name = “Rts.findByPasta”, query = “SELECT r FROM Rts r WHERE r.pasta = :pasta”),
@NamedQuery(name = “Rts.findByExecutadoPor”, query = “SELECT r FROM Rts r WHERE r.executadoPor = :executadoPor”),
@NamedQuery(name = “Rts.findByCriacao”, query = “SELECT r FROM Rts r WHERE r.criacao = :criacao”),
@NamedQuery(name = “Rts.findByAtualizacao”, query = “SELECT r FROM Rts r WHERE r.atualizacao = :atualizacao”),
@NamedQuery(name = “Rts.findByStatus”, query = “SELECT r FROM Rts r WHERE r.status = :status”),
@NamedQuery(name = “Rts.findByRevisao”, query = “SELECT r FROM Rts r WHERE r.revisao = :revisao”),
@NamedQuery(name = “Rts.findByBloqueado”, query = “SELECT r FROM Rts r WHERE r.bloqueado = :bloqueado”),
@NamedQuery(name = “Rts.findByBtsId”, query = “SELECT r FROM Rts r WHERE r.btsId = :btsId”),
@NamedQuery(name = “Rts.findByOficial”, query = “SELECT r FROM Rts r WHERE r.oficial = :oficial”),
@NamedQuery(name = “Rts.findByReedicao”, query = “SELECT r FROM Rts r WHERE r.reedicao = :reedicao”),
@NamedQuery(name = “Rts.getUltimoCod”, query = “SELECT MAX(codigo) FROM Rts”),
@NamedQuery(name = “Rts.getUltimoId”, query = “SELECT MAX(rtsId) FROM Rts”),
@NamedQuery(name = “Rts.findByAtivo”, query = “SELECT r FROM Rts r WHERE r.ativo = :ativo”)})
public class Rts implements Serializable {
private static final long serialVersionUID = 1L;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “rts_id”)
private int rtsId;
@Id
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “codigo”)
private Integer codigo;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “bts”)
private int bts;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
<a class="mention" href="/u/lob">@Lob</a>
@Column(name = “objetivo”)
private String objetivo;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “edicao”)
private String edicao;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
<a class="mention" href="/u/lob">@Lob</a>
@Column(name = “premissas”)
private String premissas;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
<a class="mention" href="/u/lob">@Lob</a>
@Column(name = “periodo”)
private String periodo;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
<a class="mention" href="/u/lob">@Lob</a>
@Column(name = “equipe”)
private String equipe;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
<a class="mention" href="/u/lob">@Lob</a>
@Column(name = “descricao”)
private String descricao;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
<a class="mention" href="/u/lob">@Lob</a>
@Column(name = “conclusao”)
private String conclusao;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
<a class="mention" href="/u/lob">@Lob</a>
@Column(name = “anexos_rts”)
private String anexosRts;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “pasta”)
private String pasta;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="executado_por", referencedColumnName="username")
private Seguranca executadoPor;
@Basic(optional = false)
@Lob
@Column(name = "associado")
private String associado;
@Basic(optional = false)
@Lob
@Column(name = "verificado_por")
private String verificadoPor;
@Basic(optional = false)
@Column(name = "criacao")
private String criacao;
@Column(name = "atualizacao")
@Temporal(TemporalType.TIMESTAMP)
private Date atualizacao;
@Basic(optional = false)
@Column(name = "status")
private String status;
@Basic(optional = false)
@Column(name = "revisao")
private String revisao;
@Basic(optional = false)
@Column(name = "bloqueado")
private String bloqueado;
@Basic(optional = false)
@Column(name = "bts_id")
private int btsId;
@Basic(optional = false)
@Column(name = "oficial")
private String oficial;
@Basic(optional = false)
@Column(name = "reedicao")
private String reedicao;
@Basic(optional = false)
@Column(name = "ativo")
private String ativo;
Percebe que existe um mapeamento entre as tabelas “Rts e Seguranca”
A entidade segurança ta apresentada abaixo:
@Entity
@Table(name = “seguranca”)
@NamedQueries({@NamedQuery(name = “Seguranca.findAll”, query = “SELECT s FROM Seguranca s”),
@NamedQuery(name = “Seguranca.findByUid”, query = “SELECT s FROM Seguranca s WHERE s.uid = :uid”),
@NamedQuery(name = “Seguranca.findByUsername”, query = “SELECT s FROM Seguranca s WHERE s.username = :username”),
@NamedQuery(name = “Seguranca.findBySenha”, query = “SELECT s FROM Seguranca s WHERE s.senha = :senha”),
@NamedQuery(name = “Seguranca.findByNome”, query = “SELECT s FROM Seguranca s WHERE s.nome = :nome”),
@NamedQuery(name = “Seguranca.findByRamal”, query = “SELECT s FROM Seguranca s WHERE s.ramal = :ramal”),
@NamedQuery(name = “Seguranca.findByTelRes”, query = “SELECT s FROM Seguranca s WHERE s.telRes = :telRes”),
@NamedQuery(name = “Seguranca.findByCelular”, query = “SELECT s FROM Seguranca s WHERE s.celular = :celular”),
@NamedQuery(name = “Seguranca.findByRevisor”, query = “SELECT s FROM Seguranca s WHERE s.revisor = :revisor”),
@NamedQuery(name = “Seguranca.findByCoordenador”, query = “SELECT s FROM Seguranca s WHERE s.coordenador = :coordenador”),
@NamedQuery(name = “Seguranca.findByAdmin”, query = “SELECT s FROM Seguranca s WHERE s.admin = :admin”),
@NamedQuery(name = “Seguranca.findByAtivo”, query = “SELECT s FROM Seguranca s WHERE s.ativo = :ativo”),
@NamedQuery(name = “Seguranca.checkUsername”, query = “SELECT s FROM Seguranca s WHERE s.username = :username”),
@NamedQuery(name = “Seguranca.checkNome”, query = “SELECT s FROM Seguranca s WHERE s.nome = :nome”),
@NamedQuery(name = “Seguranca.nomeEscolhido”, query = “SELECT s FROM Seguranca s WHERE s.username = :username”),
@NamedQuery(name = “Seguranca.findByEmail”, query = “SELECT s FROM Seguranca s WHERE s.email = :email”)})
public class Seguranca implements Serializable {
private static final long serialVersionUID = 1L;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “uid”)
private int uid;
@Id
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “username”)
private String username;
@Column(name = “senha”)
private String senha;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “nome”)
private String nome;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “ramal”)
private String ramal;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “tel_res”)
private String telRes;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “celular”)
private String celular;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “revisor”)
private String revisor;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “coordenador”)
private String coordenador;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “admin”)
private String admin;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “ativo”)
private String ativo;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “email”)
private String email;
@OneToMany(mappedBy="executadoPor",fetch=FetchType.LAZY)
private Collection<Rts> rtss;
Quando faço a inserção sem usar esse mapeamento, funciona corretamente.
Quando uso dá erro: Entitymanager is closed
Alguém poderia me ajudar,acho que deve ser algo no mapeamento, mas não to conseguindo detectar.
Obrigada.