Mapeando uma Chave Estrangeira Composta

2 respostas
BrunoBastosPJ

Fala pessoal!
Estou com um grande problema que me levou dois dias de trabalho e até agora não consegui resolver…

Estou tentando mapear chaves estrangeiras compostas já tentei várias combinações e até agora nada!
Fiz um exemplo simples de banco onde devo fazer o mapeamento… Como vocês mapeariam um banco assim?

drop table field_def;
drop table field;
drop table entity;

create table entity (
	name text not null,
	constraint pk_entity primary key(name)
);
create table field (
	name text not null,
	entity_name text not null,
	constraint pk_field primary key(entity_name, name)
);

create table field_def(
	name text not null,
	entity_name text not null,
	field_name text not null,
	constraint pk_field_def primary key(entity_name, field_name, name)
);

alter table field add constraint fk_entity foreign key(entity_name) references entity(name); 

alter table field_def add constraint fk_field foreign key(entity_name, field_name) references field(entity_name, name);

Não vou colocar o código que estou tentando mapear aqui porque estou mudando todo o tempo…
Já tentei usar <key-many-to-one, ><key-property e mapear o ><many-to-one embaixo, e outros…

O problema aqui é que não quero criar uma classe auxiliar para representar as chaves compostas… Existe alguma maneira de fazer isso?

Valeu!>

2 Respostas

B

Bruno, fazer com @EmbeddedId ou @IdClass não ficaria um pouco mais fácil ?

abraços…

BrunoBastosPJ

Não posso usar Annotations, tenho que fazer via XML como já está sendo feito no projeto.

Criado 26 de fevereiro de 2010
Ultima resposta 28 de fev. de 2010
Respostas 2
Participantes 2