A ENTIDADE QUE ESTOU USABDO FICOU ASSIM:
package entidades;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Persistence;
@Entity
public class Logomarcas implements Serializable {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
private String nome;
@Lob
@Column(name = "logomarcas")
private byte[] logomarcas;
public Logomarcas() {
}
public byte[] getLogomarcas() {
return logomarcas;
}
public void setLogomarcas(byte[] logomarcas) {
this.logomarcas = logomarcas;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
/**
* Retorna um valor de codigo hash para o objeto. Esta implementcao computa
* um valor de c�digo hash baseado nos campos id deste objeto.
* @return um valor de c�digo hash para este objeto.
*/
@Override
public int hashCode() {
int hash = 0;
hash += (this.id != null ? this.id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Logomarcas)) {
return false;
}
Logomarcas other = (Logomarcas)object;
if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) return false;
return true;
}
/**
* Retorna uma representa��o literal deste objeto. Esta implementa��o cria
* uma representa��o baseada nos campos id.
* @return uma representa��o literal deste objeto.
*/
@Override
public String toString() {
return "javaapplication9.Imagem[id=" + id + "]";
// return logomarcas;
//return nome;
}
public void persist(Object object) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("GerenciamentoAmbulatorial");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
try {
em.persist(object);
em.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
em.getTransaction().rollback();
} finally {
em.close();
}
}
}
E A DAO
package dao;
import entidades.Logomarcas;
import java.util.List;
import javax.persistence.Query;
import javax.persistence.EntityManager;
import util.Banco;
public class LogomarcasDAO {
//Cria um novo objeto de entidade.
EntityManager em;
//Cria um objeto para fazer as consultas.
Query q;
//Construtor da classe que já instacia os objetos para acesso ao banco.
public LogomarcasDAO() {
//Objeto de entidade recebe um objeto de entidade real do banco, através da classe Banco.
em = Banco.getInsatance().getEntityManager();
//Cria um objeto para manipular as consultas no banco.
q=em.createQuery(“FROM Logomarcas cid order by log.nome”);
}
//Método que faz consulta ao banco de dados através do ID passado como parâmetro.
public Logomarcas get(Long id){
em.clear();
em.getTransaction().begin();
Logomarcas log =em.find(Logomarcas.class,id);
em.getTransaction().commit();
return log;
}
//Cria uma consulta de Logomarcas , e retorna em uma lista de Logomarcas .
public List<Logomarcas> select(){
em.clear();
em.getTransaction().begin();
List lista=em.createQuery("FROM Logomarcas cid order by log.nome").getResultList();
em.getTransaction().commit();
return lista;
}
//Busca de Logomarcas , passando uma lista de Logomarcas , e um filtro passado como parâmetro.
public List<Logomarcas> select(String filtro){
em.clear();
em.getTransaction().begin();
String hsql;
hsql = "FROM Logomarcas log";
hsql += "Where ";
hsql += "log.nome like :filtro ";
Query query = em.createQuery(hsql);
query.setParameter("filtro", filtro + "%");
List lista=query.getResultList();
em.getTransaction().commit();
return lista;
}
//Método para salvar a Logomarcas . Passa Logomarcas como parâmetro.
public void saveOrUpdate(Logomarcas log){
em.clear();
em.getTransaction().begin();
em.merge(log);
em.getTransaction().commit();
}
//Método para deletar a Logomarcas . Passa Logomarcas como parâmetro.
public void delete(Logomarcas log){
em.clear();
em.getTransaction().begin();
log= em.find(Logomarcas.class,log.getId());
if (cid!=null){
em.remove(log);
}
em.getTransaction().commit();
}
}
Ah já estava esquecendo a tabela logomarca está ligada a tabela empresa
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Empresa implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@ManyToOne
private Logomarcas logomarcas;
public Empresa() {
}
public void setLogomarcas(byte[] logomarcas) {
this.logomarcas.setLogomarcas(logomarcas);
}
public byte[] getLogomarcas() {
return logomarcas.getLogomarcas();
}
…
o netbeans não acusa erro mas o banco (postgres) não aceita o dado
empresas.setLogomarcas(byteArray);