Gostaria de criar uma chave composta por duas id’s, com o hibernate, onde a idéia é que uma das id’s seja um valor incremental gerado automaticamente, para o exemplo seguinte, criado no postgresql:
CREATE SEQUENCE usuario_id_seq;
CREATE TABLE usuario (
id INTEGER NOT NULL DEFAULT nextval('usuario_id_seq'),
PRIMARY KEY(id)
);
CREATE SEQUENCE conta_id_seq;
CREATE TABLE conta (
id INTEGER NOT NULL DEFAULT nextval('conta_id_seq'),
id_usuario INTEGER NOT NULL,
PRIMARY KEY(id, id_usuario),
FOREIGN KEY(id_usuario)
REFERENCES usuario(id)
);
Caso não considere a coluna ‘id’ da tabela ‘conta’ como um valor gerado automaticamente, Conta.hbm.xml pode ser escrito da seguinte forma:
<class name="Conta" table="conta">
<composite-id name="id" class="ContaId">
<key-property name="id" type="integer" column="id"/>
<key-many-to-one name="usuario" class="Usuario" column="id_usuario"/>
</composite-id>
</class>
Alguém poderia ajudar?
Obrigado pela atenção!