Incompatibilidade de campos ao fazer deploy
Não entendi esse erro:
WARNING: Got SQLException executing statement "ALTER TABLE SELL ADD CONSTRAINT FK_SELL_CREDITCARD_ID FOREIGN KEY (CREDITCARD_ID) REFERENCES CREDITCARD (id)": org.postgresql.util.PSQLException: ERRO: restrição de chave estrangeira "fk_sell_creditcard_id" não pode ser implementada
Detalhe: Colunas chave "creditcard_id" e "id" são de tipos incompatÃveis: character varying e integer.
Minha anotação na classe Sell esta assim:
@NotNull
@JoinColumn(referencedColumnName="id")
@ManyToOne(optional=false)
@Valid
private CreditCard creditCard;
Na classe CrediCard deste forma:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column
@Basic(optional=false)
private Integer id;
Por que a mensagem de tipo incompativel?
Nota: Estou trabalhando com o postgresql 9
WARNING: Got SQLException executing statement "ALTER TABLE SELL ADD CONSTRAINT FK_SELL_CREDITCARD_ID FOREIGN KEY (CREDITCARD_ID) REFERENCES CREDITCARD (id)": org.postgresql.util.PSQLException: ERRO: restrição de chave estrangeira "fk_sell_creditcard_id" não pode ser implementada
Detalhe: Colunas chave "creditcard_id" e "id" são de tipos incompatÃveis: character varying e integer.
Minha anotação na classe Sell esta assim:
@NotNull
@JoinColumn(referencedColumnName="id")
@ManyToOne(optional=false)
@Valid
private CreditCard creditCard;
Na classe CrediCard deste forma:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column
@Basic(optional=false)
private Integer id;
Por que a mensagem de tipo incompativel?
Nota: Estou trabalhando com o postgresql 9
Nilo Souza
Curtidas 0
Respostas
Robson Teixeira
25/01/2011
Caro Nilo
você esta usando o driver do postgres 9???
e testa assim a annotation
@JoinColumn(name="CreditCard_ID",referencedColumnName="id")
pois o atributo name serve para você poder colocar o nome que você deseja na tabela de sell.
você esta usando o driver do postgres 9???
e testa assim a annotation
@JoinColumn(name="CreditCard_ID",referencedColumnName="id")
pois o atributo name serve para você poder colocar o nome que você deseja na tabela de sell.
GOSTEI 0
Robson Teixeira
25/01/2011
Complementando
Digo o driver pois pode ter alguma incompatibilidade com a versão do banco com o driver.
att
robson
Digo o driver pois pode ter alguma incompatibilidade com a versão do banco com o driver.
att
robson
GOSTEI 0
Nilo Souza
25/01/2011
Robson, bom dia!
Instalei a versão 9 e o drive que uso é esse: postgresql-9.0-801.jdbc4.jar
Quando a coluna como ficaria então?
Parece que ele esta atribuindo automaticamente o valor da coluna creditcard_id o tipor character varying correto? Tem como fazer a atribuição manual para o tipo integer?
Instalei a versão 9 e o drive que uso é esse: postgresql-9.0-801.jdbc4.jar
Quando a coluna como ficaria então?
Parece que ele esta atribuindo automaticamente o valor da coluna creditcard_id o tipor character varying correto? Tem como fazer a atribuição manual para o tipo integer?
GOSTEI 0
Dyego Carmo
25/01/2011
Os tipos dos DOIS lados estão corretos ?
GOSTEI 0
Nilo Souza
25/01/2011
Tá mais, como então resolver esse problema? Não era para dar o erro citado acima.
GOSTEI 0
Nilo Souza
25/01/2011
no banco o tipo é integer e na hibernate coloquei conforme mostro acima, não sei pq esta dando esse erro.
Segui suas video aulas!
GOSTEI 0
Nilo Souza
25/01/2011
no banco o tipo é integer e na hibernate coloquei conforme mostro acima, não sei pq esta dando esse erro.
Segui suas video aulas!
No Banco de dados ao inves de salvar como Integer esta salvando como varchar(255).
GOSTEI 0
Dyego Carmo
25/01/2011
Resolvido ? Feche a pendencia :)
GOSTEI 0
Nilo Souza
25/01/2011
Não Dyego, estou precisando de respostas. Vc é moderador ou não?
GOSTEI 0
Robson Teixeira
25/01/2011
Olá Nilo
Apague suas tabelas na mão e depois tenta de novo gerar as tabelas de novo pela aplicação e revise suas anotações nas entidades. ok??
att
robson
Apague suas tabelas na mão e depois tenta de novo gerar as tabelas de novo pela aplicação e revise suas anotações nas entidades. ok??
att
robson
GOSTEI 0