Chave composta no JPA

4 respostas
R

Boa noite amigos do GUJ, sou iniciante em java e hibernate e venho solicitar a ajuda de vocês.

Tenho que mapear 2 Classes para seguir o modelo Relacional a seguir:

Terei duas tabelas: Empresa(id, razao_social) e Funcionario(empresa, matricula, nome)

na tabela empresa terei a chave primária: id
na tabela funcionario terei uma chave composta: (empresa, matricula) sendo que o campo empresa é uma chave estrangeira da tabela Empresa

Desde ja agradeço.

4 Respostas

H

Você pode seguir esse exemplo: Chave Primária Composta.

R

Obrigado pelo exemplo mas preciso que além me criar a chave composta faça uma referência “chave estrangeira” com a classe empresa

Tenho que mapear 2 Classes para seguir o modelo Relacional a seguir:
Terei duas tabelas: Empresa(id, razao_social) e Funcionario(empresa, matricula, nome)

na tabela empresa terei a chave primária: id
na tabela funcionario terei uma chave composta: (empresa, matricula) sendo que o campo empresa é uma chave estrangeira da tabela Empresa

Meu código atual é o seguinte

Classe Empresa

@Entity
public class Empresa {

	@Id
	@GeneratedValue
	private Long codemp;
	private String razaoSocial;
	private String fantasia;
	private String cnpj;

  // Get e setters ocultos
}

Classe FuncionarioPK

@Embeddable
public class FuncionarioPK implements Serializable {

	@Column
	private Empresa empresa;
	@Column
	private Long matricula;
	
	public FuncionarioPK() {
	}
    // Getters e setteres ocultos
}

Classe Funcionario

@Entity
public class Funcionario implements Serializable {

	@EmbeddedId
	private FuncionarioPK id;
	private String nome;
     // getters e setters ocultos
}

Erro gerado:

R

Alguém poderia me ajudar?

H

Cara, aqui no meu serviço já foi feito pelo exemplo acima, e por esse aqui abaixo:

http://www.mkyong.com/hibernate/hibernate-many-to-many-example-join-table-extra-column-annotation/

Criado 4 de junho de 2012
Ultima resposta 5 de jun. de 2012
Respostas 4
Participantes 2