Fórum Incompatibilidade de campos ao fazer deploy #394379

25/01/2011

0

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
Nilo Souza

Nilo Souza

Responder

Posts

26/01/2011

Robson Teixeira

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.


Responder

Gostei + 0

26/01/2011

Robson Teixeira

Complementando

  Digo o driver pois pode ter alguma incompatibilidade com a versão do banco com o driver.

att
 robson
Responder

Gostei + 0

26/01/2011

Nilo Souza

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?


Responder

Gostei + 0

26/01/2011

Dyego Carmo

Os tipos dos DOIS lados estão corretos ?


Responder

Gostei + 0

26/01/2011

Nilo Souza

Tá mais, como então resolver esse problema?  Não era para dar o erro citado acima.
Responder

Gostei + 0

26/01/2011

Nilo Souza

no banco o tipo é integer e na hibernate coloquei conforme mostro acima, não sei pq esta dando esse erro. Segui suas video aulas!
Responder

Gostei + 0

26/01/2011

Nilo Souza

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).
Responder

Gostei + 0

11/02/2011

Dyego Carmo

Resolvido ? Feche a pendencia :)
Responder

Gostei + 0

11/02/2011

Nilo Souza

Não Dyego, estou precisando de respostas. Vc é moderador ou não?
Responder

Gostei + 0

11/02/2011

Robson Teixeira

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
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar