JavaBean, com atributo do Tipo Oid do PGSQL para inserir no banco

E ai pessoal, seguinte estou aqui tentando fazer uma pagina de cadastro de empresa onde o cara tem que enviar a IMAGEM do LOGOTIPO dele.

Estou usando Struts e Hibernate, bom vou postar parte do código aqui para vocês assimilaram o que eu estou tentando fazer.

No banco eu criei um CAMPO com o tipo OID, por ler em alguns lugar e falarem que é mais fácil fazer o envio e a extração nesse formato. Não sei se o mais correto e o mais eficiente.

O problema é que o Hibernate no momento de inserir esses dados ele avisa sobre o Objeto cliente do JAVABEAN que criei não esta correto para inserir esse tipo de dado.

Bem lá vai os código:

Cliente.java

[code]import java.io.Serializable;
import java.sql.Date;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.postgresql.core.Oid;

@Entity
@Table (name=“clientes”)
public class Cliente implements Serializable {

private static final long serialVersionUID = 1L;
/**
 * 
 */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)	
private Long id_cli;

private String empresa;
private String contato;
private String endereco;
private String complemento;
private int    numero;
private String bairro;
private String estado;
private int    cep;
private String email;
private String telefone;
private String celular;
private String usuario;
private String senha;


private Oid logotipo;

@Column(name="libera_logotipo")
private Boolean liberaLogotipo;

private Date datacad;

private Boolean liberado;

@Column(name="data_liberado")
private Timestamp dataLiberado;

private Boolean status;
private char   deleted;

   // depois disso vem os Getter and Setter

}
[/code];

ClienteDAO.java

[code]// somente exemplo interno
public static void main(String[] args)
{
EntityManagerFactory emf = Persistence
.createEntityManagerFactory(“paiterBrindes”);

	EntityManager em = emf.createEntityManager();
	
	Cliente cliente = new Cliente();
	cliente.setEmpresa("Grupo Paiter de Tecnlogia");
	cliente.setContato("Romildo Jozue Paiter");
	cliente.setEndereco("Rua Naçoes Unidas");
	cliente.setEmail("email@terra.com.br");
	cliente.setUsuario("Usuario");
	cliente.setSenha("senha");
	
	em.getTransaction().begin();
	em.persist(cliente);
	em.getTransaction().commit();
	
	em.close();
	emf.close();
}[/code]

Agora o Expetion gerado

Caused by: org.hibernate.MappingException: Could not determine type for: org.postgresql.core.Oid, at table: clientes, for columns: [org.hibernate.mapping.Column(logotipo)] at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292) at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276) at org.hibernate.mapping.Property.isValid(Property.java:207) at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458) at org.hibernate.mapping.RootClass.validate(RootClass.java:215) at org.hibernate.cfg.Configuration.validate(Configuration.java:1149) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1334) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669) ... 4 more

Obrigado Pessoal…

att

Romildo

Cara não consegui passar um oid mas sim bytea. Dá uma olhadinha ae:

http://www.guj.com.br/posts/list/198735.java#1001836

http://www.guj.com.br/posts/list/136313.java#739279

Talvez algum desses tópicos te ajude.