Vamos lá pessoal, dei uma procurada aqui e no Google e nada que me ajudasse.
A minha estrutura é a seguinte: Hibernate, Java e Firebird
A conexão de banco eu utilizei generics para usar a mesma para todas as classes… não uso persistence.xml e adiciono tudo em tempo de execução. Com execeção desta classe que tem campos dos tipo char no banco, as outras funcionam perfeitamente.
Então…
Tenho a seguinte entidade:
public class Endereco implements Serializable {
...
@Column(name = "ESTADO")
@Type(type="character")
private String estado;
...
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
}
Quando vou carregar os dados ele me retorna o seguinte erro:
E acredito que deva estar faltando alguma anotação… mas andei pesquisando e nada 
ele esta porocurando um propriedade q não existe no seu codigo, e por isso não consegue atulizar seu valor por reflexao, provavelemnte vc esta utilizando um membro que não é @Embedable e não ta colocando nenhum mapeamento especial pra ele, o hiberante acaba q n encontra o lugar correto de mapear… mostra a tua classe completa, q fica + facil de ajudar
Ok, ai está.
Não consegui encontrar esta propriedade que ele está procurando… onde será que estou errando?
Há sim, gerei as entidades pelo netbeans 
/**
*
* @author Edson Marco Ferrari Junior
*/
@Entity
@Table(name = "ENDERECO")
@SequenceGenerator(name="GENIDENDERECO",sequenceName="GENIDENDERECO")
public class Endereco implements Serializable, AccessingDatabase {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "IDENDERECO")
@GeneratedValue(strategy = GenerationType.AUTO, generator="GENIDENDERECO")
private Integer idendereco;
@Column(name = "LOGRADOURO")
private String logradouro;
@Column(name = "NUMERO")
private String numero;
@Column(name = "COMPLEMENTO")
private String complemento;
@Column(name = "BAIRRO")
private String bairro;
@Column(name = "CIDADE")
private String cidade;
@Column(name = "ESTADO")
@Type(type="character")
private String estado;
@Column(name = "CEP")
@Type(type="character")
private String cep;
@Column(name = "CAIXAPOSTAL")
private String caixapostal;
@Column(name = "IDORIGINAL")
private Integer idoriginal;
@Column(name = "TABLENAME")
private String tablename;
public Endereco() {
}
public Endereco(Integer idendereco) {
this.idendereco = idendereco;
}
public Integer getIdendereco() {
return idendereco;
}
public void setIdendereco(Integer idendereco) {
this.idendereco = idendereco;
}
public String getLogradouro() {
return logradouro;
}
public void setLogradouro(String logradouro) {
this.logradouro = logradouro;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getCaixapostal() {
return caixapostal;
}
public void setCaixapostal(String caixapostal) {
this.caixapostal = caixapostal;
}
public Integer getIdoriginal() {
return idoriginal;
}
public void setIdoriginal(Integer idoriginal) {
this.idoriginal = idoriginal;
}
public String getTablename() {
return tablename;
}
public void setTablename(String tablename) {
this.tablename = tablename;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idendereco != null ? idendereco.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 Endereco)) {
return false;
}
Endereco other = (Endereco) object;
if ((this.idendereco == null && other.idendereco != null) || (this.idendereco != null && !this.idendereco.equals(other.idendereco))) {
return false;
}
return true;
}
@Override
public String toString() {
return "br.com.theos.client.database.entities.Endereco[idendereco=" + idendereco + "]";
}
@Override
public Integer getId() {
return getIdendereco();
}
}
pelo post do thingol e pelo seu post com seu código, é certo que esse @Type ai q ta dando o galho todo…
provavelmente o hibernate esta tentando enfiar um tipo char[] no seu tipo String … e isso ta dando um erro…
não lembro exatamente se
[code] @Column(name = “ESTADO”)
@Type(type=“character”)
private String estado;
@Column(name = "CEP")
@Type(type="character")
private String cep;
[/code]
força esses 2 para que eles sejam vistos como array de char… enfim… deve ser isso… ou vc remove esse @Type… ou vc muda o tipo de String para char[]
Eu havia visto esta página… mas não tenho campos cep nulos (Pelo menos não nos registros a serem carregados) e os campos que tenho nulos não entendi o problema deles…
Nas outras entidades eu tenho campos nulos, mas não tenho este problema. 
[quote=Lavieri]pelo post do thingol e pelo seu post com seu código, é certo que esse @Type ai q ta dando o galho todo…
provavelmente o hibernate esta tentando enfiar um tipo char[] no seu tipo String … e isso ta dando um erro…
não lembro exatamente se
[code] @Column(name = “ESTADO”)
@Type(type=“character”)
private String estado;
@Column(name = "CEP")
@Type(type="character")
private String cep;
[/code]
força esses 2 para que eles sejam vistos como array de char… enfim… deve ser isso… ou vc remove esse @Type… ou vc muda o tipo de String para char[][/quote]
Pois é… mas acontece que o campo no banco é do tipo char… e se eu não colocar o type ele dá o sequinte erro:
[quote=edmafer]Eu havia visto esta página… mas não tenho campos cep nulos (Pelo menos não nos registros a serem carregados) e os campos que tenho nulos não entendi o problema deles…
Nas outras entidades eu tenho campos nulos, mas não tenho este problema. :|[/quote]
o que vc pode tirar como lição desse post q o thingol colocou, é que quando os tipos são incopativeis da esse problema… por exemplo…
um boolean não aceita “null” … pq boolean é primitvo e null so entra em um Object…
o mesmo pode estar acontecendo com vc… seu camo é um String, e o hibernate ta tentando enfiar um array de chars nele… ta dando o mesmo problemas… tipos incompativeis
[quote=edmafer][quote=Lavieri]pelo post do thingol e pelo seu post com seu código, é certo que esse @Type ai q ta dando o galho todo…
provavelmente o hibernate esta tentando enfiar um tipo char[] no seu tipo String … e isso ta dando um erro…
não lembro exatamente se
[code] @Column(name = “ESTADO”)
@Type(type=“character”)
private String estado;
@Column(name = "CEP")
@Type(type="character")
private String cep;
[/code]
força esses 2 para que eles sejam vistos como array de char… enfim… deve ser isso… ou vc remove esse @Type… ou vc muda o tipo de String para char[][/quote]
Pois é… mas acontece que o campo no banco é do tipo char… e se eu não colocar o type ele dá o sequinte erro:
[quote]
Wrong column type: CEP, expected: varchar(255)
[/quote][/quote]
mais ai é a vida… o fato é q vc não pode enfiar uma array de char[] em uma String =P … a não ser, q vc faça um atribute override do valor q é um char[] q ta dentro da String… mas seria algo q n fiz, tem q olhar pra ver como fazer… e pode te dar problemas, pq naum é bom setar Strings por reflexao, basta uma ir pro poll de strings e uma mexida na array de char pra avacalhar todo seu programa
Lição aprendida, e tenho certeza que será muito útil.
Mas infelizmente não resolveu este problema…
alterei para char[]
@Column(name = "CEP")
private char[] cep;
E também nos getters and setters…
Mas ai ele retornou:
Teimei e coloquei o @Type de volta…
E voltamos a mensagem de erro anterior:
Há sim… para garantir ranquei todos o ceps nulos e transformei-os em vazios.
essa anotação @Type é do proprio hibernate ne ?? não é do JPA ??
é meio estrenho… isso… quando usei firbird mapiei sem problemas meus campos varchar o.O
tenta tirar esse @Type, e poem um @Basic no lugar
Edit.: e sim é bom lembrar… como realmente é mapeado esse campo no seu DB ?? ele é de q tipo ?
outra coisa é q char[] aceita nulo, pois array de char é um objeto
[quote=Lavieri]essa anotação @Type é do proprio hibernate ne ?? não é do JPA ??
é meio estrenho… isso… quando usei firbird mapiei sem problemas meus campos varchar o.O
tenta tirar esse @Type, e poem um @Basic no lugar[/quote]
Própria do hibernate:
org.hibernate.annotations.Type
[quote=edmafer][quote=Lavieri]essa anotação @Type é do proprio hibernate ne ?? não é do JPA ??
é meio estrenho… isso… quando usei firbird mapiei sem problemas meus campos varchar o.O
tenta tirar esse @Type, e poem um @Basic no lugar[/quote]
Própria do hibernate:
org.hibernate.annotations.Type
[/quote]
bom acho q descobri seu problema
http://www.java2s.com/Code/Java/Hibernate/JavaTypeVSHibernateType.htm
vc esta tentando colocar um tipo “char” em um tipo “char[]” por isso ta dando o erro
coloque assim
[code] @Column(name = “ESTADO”)
@Type(type=“string”)
private String estado;
@Column(name = “CEP”)
@Type(type=“string”)
private String cep; [/code]
[quote=Lavieri]essa anotação @Type é do proprio hibernate ne ?? não é do JPA ??
é meio estrenho… isso… quando usei firbird mapiei sem problemas meus campos varchar o.O
tenta tirar esse @Type, e poem um @Basic no lugar
Edit.: e sim é bom lembrar… como realmente é mapeado esse campo no seu DB ?? ele é de q tipo ?
outra coisa é q char[] aceita nulo, pois array de char é um objeto[/quote]
Então… no @Basic consigo setar o tipo? Aqui tentar usar ele sem nenhum outro parametro e ele me retornou o erro de Wrong Column 
Você por acaso tem ainda a entidade que tu utilizou no firebird com char? Para compararmos?
O campo é do tipo:
CEP CEP /* CEP = CHAR(9) */,
O cep da frente é um domínio:
CREATE DOMAIN CEP AS
CHAR(9) CHARACTER SET ISO8859_1
COLLATE PT_BR
puxa… dificil hein. Com certeza estou esquecendo alguma coisinha.
[quote=Lavieri]coloque assim
[code] @Column(name = “ESTADO”)
@Type(type=“string”)
private String estado;
@Column(name = “CEP”)
@Type(type=“string”)
private String cep; [/code][/quote]
Dá o erro do Wrong column… 
xii tenho n… n aki…
c tiver ta no notebook do meu cunhado… e ele mora no interiro da paraíba… heheh O.o complicado…
mas o fato é
@Type(type=“character”) requer um campo do tipo “char” … e por isso ta dando pau… mas pelo q vc esta dizendo q vc tem é um tipo parecido com “varchar” … n lembro bem do firebid n foi feito por mim o banco, era um banco antigo de outra pessoa … eu so fiz mapear e colocar pra roda em java… nem lembro exatamente c o campo era CHAR(9) ou VARCHAR … enfim…
[quote=edmafer][quote=Lavieri]coloque assim
[code] @Column(name = “ESTADO”)
@Type(type=“string”)
private String estado;
@Column(name = “CEP”)
@Type(type=“string”)
private String cep; [/code][/quote]
Dá o erro do Wrong column… :([/quote]
axei alguem com o mesmo problema do seu
https://forum.hibernate.org/viewtopic.php?f=25&t=952146
tem q axar uma solução pro mapeamento correto
http://www.java2s.com/Code/Java/Hibernate/JavaTypeVSHibernateType.htm
tenta assim
[code][code] @Column(name = “ESTADO”)
@Type(type=“char(2)”)
private String estado;
@Column(name = “CEP”)
@Type(type=“char(9)”)
private String cep; [/code]
vi o pessoal mapeando com XML
http://www.javafree.org/viewtopic.jbb?t=3518&highlight=hibernate
Pois então… ainda não obtive sucesso 
tentei usar o tipo “char(9)” o Hibernate não aceita.
Então olhando nos seus links achei uma tabela de tipos aqui: http://www.roseindia.net/hibernate/hibernate-types.shtml
Mas não fui feliz com nenhum deles…
Tentei CharacterType, CharacterArrayType, CharArrayType, AnyType e etc e nada…
@Column(name = "ESTADO")
@Type(type="org.hibernate.type.CharArrayType")
private char[] estado;
@Column(name = "CEP")
@Type(type="org.hibernate.type.CharArrayType")
private char[] cep;
Mas ai nestes sempre retorna:
O duro que mudar no banco não é uma opção… juro que já pensei nisto 