Duvida sobre chaves compostas em JPA

1 resposta
R

Pessoal estou com uma duvida sobre chaves compostas em JPA, segue um exemplo abaixo:

tabelas: ObraAutor, SugestaoCompraObra

as tabelas ObraAutor e SugestaoCompraObra tem chaves compostas, ou seja tem as classes ObraAutorPK e SugestaoCompraObraPK a pergunta é
dentro da classe SugestaoCompraObra como pego um objeto do tipo ObraAutor

ObraAutor possui idObra e idAutor e SugestaoCompraObra tb, fiz assim e deu erro:

@ManyToOne(cascade={},fetch=FetchType.LAZY)
	@JoinColumns( { 
		@JoinColumn(name="idObra", unique=false, nullable=false, insertable=false, updatable=false), 
		@JoinColumn(name="idAutor", unique=false, nullable=false, insertable=false, updatable=false) } )
	public ObraAutor getObraAutor() {
		return this.obraAutor;
	}

	public void setObraAutor(ObraAutor obraAutor) {
		this.obraAutor = obraAutor;
	}

alguem sabe como resolver isso?

Desde já agradeço!

1 Resposta

R

consegui resolver de varias formas:

1: No meu caso as colunas de java tem o mesmo nome e o relacionamento era pela chave ficou @PrimaryKeyJoinColumn

2: se não fosse pela chaves ficaria:

@JoinColumns( {

@JoinColumn(name=idObra, referencedColumnName=idObra),

@JoinColumn(name=idAutor, referencedColumnName=idAutor) } )

no meu caso faltou o referencedColumnName que é o nome da tabela referenciada, porem era pra funcionar pois os nomes sao os mesmo
3:@JoinTable(

name=ObraAutor,

joinColumns={@JoinColumn(name=idObra), @JoinColumn(name=idAutor) }

)
Criado 18 de novembro de 2007
Ultima resposta 18 de nov. de 2007
Respostas 1
Participantes 1