SCBCD - dúvida

4 respostas
W

Existem 2 tabelas no banco de dados, Celery e Carrot. Celery contém uma foreign key para Carrot. Cada tabela tem uma primary key, e não existem outras constraints nas tabelas. Nenhum descriptor é usado, e nas seguintes opções cada cenário mostra todas as informações de mapeamentos pertencentes aos relacionamentos. Quais entidades precisamente modelam este cenário no banco de dados?

A.) @Entity Celery {
/* .... */
}
@Entity Carrot {
@ManyToOne
Celery celery;
/* .... */
}

B.)@Entity Celery {
@ManyToOne
Carrot carrot;
/* .... */
}
@Entity Carrot {
/* .... */
}


C.)@Entity Celery {
@OneToOne
Carrot carrot;
/* .... */
}
@Entity Carrot {
/* .... */
}

A resposta é B, mas alguém aí sabe me explicar porque não é a C que eu tinha colocado? valeu!

4 Respostas

B

Eu marcaria a C tbm…

renamed

Acho que a idéia é que mais de uma Celery pode fazer referência pra mesma Carrot…

B

Creio que se fosse um ManyToOne um dos lados do relacionamento(o possuidor ou o inverso) teria que ter uma coleção…

P

Acho que o “segredo” da questão está no trecho:

Ou seja, uma fk em Celery e nada mais. Caso fosse citado mais uma foreign key em Carrot, apontando para Celery, a opção correta seria OneToOne.

Na verdade, estou mais supondo que seja isso. Pois se não me engano, o OneToOne funciona tabém com apenas uma fk.

Criado 8 de dezembro de 2009
Ultima resposta 8 de dez. de 2009
Respostas 4
Participantes 4