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.ManyToOne; import javax.persistence.Transient; @Entity public class Embarcacao extends Entidade implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int codigo; private String nome; @ManyToOne private Frota frota = new Frota(); private Integer arquivo; @Transient private String base64; public Embarcacao consultar() { return em.find(Embarcacao.class, codigo); } public List listar() { return em.createQuery("SELECT e FROM Embarcacao e ORDER BY e.nome").getResultList(); } public List listarPorFrota() { return em.createQuery("SELECT e FROM Embarcacao e WHERE e.frota.codigo = " + frota.getCodigo() + " ORDER BY e.nome").getResultList(); } public void incluir() { frota = em.find(Frota.class, frota.getCodigo()); if (base64 != null && !base64.isEmpty()) { Arquivo arq = new Arquivo(); arq.setBase64(base64); em.persist(arq); em.flush(); em.refresh(arq); arquivo = arq.getCodigo(); } em.persist(this); } public void alterar() { Embarcacao e = em.find(Embarcacao.class, codigo); e.setNome(nome); e.setFrota(em.find(Frota.class, frota.getCodigo())); System.out.println("base64=" + base64);; if (base64 != null && !base64.isEmpty()) { Arquivo arq = new Arquivo(); arq.setBase64(base64); em.persist(arq); em.flush(); em.refresh(arq); e.setArquivo(arq.getCodigo()); } } public void excluir() { em.remove(em.find(Embarcacao.class, codigo)); } public Integer getArquivo() { return arquivo; } public void setArquivo(Integer arquivo) { this.arquivo = arquivo; } public String getBase64() { return base64; } public void setBase64(String base64) { this.base64 = base64; } public Frota getFrota() { return frota; } public void setFrota(Frota frota) { this.frota = frota; } 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; } }