Pessoal,
Esse erro seria de mapeamento errado de entidade ou seria pq não existe um determinado código na FK? é algo q tenho que corrigir no hibernate ou no banco?
Pessoal,
Esse erro seria de mapeamento errado de entidade ou seria pq não existe um determinado código na FK? é algo q tenho que corrigir no hibernate ou no banco?
ORA-02291: integrity constraint (string.string) violated - parent key not found
Cause: A foreign key value has no matching primary key value.
Action: Delete the foreign key or add a matching primary key.
No link http://ora-02291.ora-code.com/
Acho que você apontou (FK) para alguém que não existe.
Então é algo relacionado ao banco??? não é algum relacionamento de entidades do hibernate que esqueci de fazer?
Eu acredito que sim. Você fez um insert em uma tabela, que tem FK para outra. Lá na outra, não tem esse chave (PK) que você apontou. É banco.
Mas pelo que vi esses campos não estão mapeados como fk na entidade:
public class ItemAtributoItemDomain implements Serializable, Cloneable {
@Basic
@Column(name = "COD_GRUPO_ATRIBUTO_ITEM", unique=true)
private Long codGrupoAtributoItem;
@Id
@Version
@Basic
@Column(name = "COD_ATRIBUTO_ITEM")
private Long codAtributoItem;
.
.
.
No banco, CRP_ADM.FK_TRBIT_DOMAT_01 aponta pra quem?
Pode não estar mapeado na sua classe, mas no banco tem constraint, não tem?
No banco, CRP_ADM.FK_TRBIT_DOMAT_01 aponta pra quem?
Pode não estar mapeado na sua classe, mas no banco tem constraint, não tem?
pros campos:
COD_GRUPO_ATRIBUTO_ITEM, COD_ATRIBUTO_ITEM
Beleza, tem constraint. Então eu insisto, você deu insert num campo FK que aponta para um PK onde não existe matching value.
Então o problema é banco?
É no banco, mas não vejo como problema, você no seu insert violou uma constraint e o banco te barrou. É um id inválido em um dos seus atributos, o qual corresponde ao campo FK do banco.
Não tem como prevenir q não aconteça isso no hibernate?
Pq …pelo q vi …eu não teria que definir aqueles dois campos como sendo FK na classe ItemAtributoItemDomain ???
Não tem como prevenir q não aconteça isso no hibernate?Não sei, mas violar constraint é violar constraint com ou sem hibernate.
Pq …pelo q vi …eu não teria que definir aqueles dois campos como sendo FK na classe ItemAtributoItemDomain ???Bom, pelo visto ele não te obriga. Eu usando hibernate não mapeio coluna FK com atributo Long, eu boto a classe que a FK aponta pra fazer o hibernate trazer. Uso a annotation de mapeamento.
Como assim? :shock:
http://www.hibernate.org/hib_docs/annotations/reference/en/html/
Mas não vamos discutir isso. Me diz, esse insert é decorrente de uma ação na aplicação? Alguém seleciona alguma coisa, o qual o id vai preencher aquele atributo que está mapeado para a coluna com FK a qual violou-se a constraint?
http://www.hibernate.org/hib_docs/annotations/reference/en/html/
Mas não vamos discutir isso. Me diz, esse insert é decorrente de uma ação na aplicação? Alguém seleciona alguma coisa, o qual o id vai preencher aquele atributo que está mapeado para a coluna com FK a qual violou-se a constraint?
é de uma aplicação, mas eu não tenho como ver que valores estão setados, esta tudo (?,?,?) …vou pedir pra usuária me mandar que valores ela setou pra eu descobrir onde ta estourando essa FK
Beleza, boa sorte.