Mapeamento JPA

6 respostas
J

PessoALL, estou com o seguinte problema. Tenho uma base de dados com duas tabelas.

Tabela Usuario
PK 
Codigo - Integer

Nome   - String
Inscricao - String

e

Tabela Documento
PK 
Codigo - Integer

Inscricao - String

Estou tentando fazer o mapeamento para essas classes, mas não para as chaves. Gostaria de relacioná-las pelo campo Inscricao. Nem todo o Usuário tem um registro em Documento.

Quais são as anotações que poderia utilizar para fazer este mapeamento, lembrando que eles não tem relacionamento do banco.

Desde já, obrigado.

Abraços

6 Respostas

R

pesquisa por relacionamento em JPA e tb por @JoinColumn

J

mas @JoinColumn não seria para chaves estrangeiras ? Os dois campos não são chaves estrangeiras.

R

é tem razao…
desculpe a falta de atenção

Rodrigo_Carvalho_Aul

Pode não ter relacionamento no banco, mas de qualquer jeito, pelo o que eu entendi, a coluna Inscricao na tabela Documento seria uma chave estrangeira. Mesmo não tendo o relacionamento no banco você pode usar @JoinColumn.

Coloca aí como você quer que fique as classes pra gente entender melhor.

[]'s

Rodrigo Auler

J

Rodrigo, obrigado pelo retorno.

Bom, o que eu quero seria isso…

@Entity
public class Usuario {
	@Id
	private int codUsr;
	private String nome;

	@ManyToOne
	@JoinColumn(name = "DOCUMENTO")
	private String doc;

}

e

@Entity
public class Documento {
	@Id
	private int codDoc;
	
	@OneToMany(mappedBy="doc")
	private Set<Usuario> usrs;
	
	private String docum;
}

O que eu queria era um relacionamento entre os atributos Usuario.doc e Documento.docum, mas os mesmos não são chaves estrangeiras na base de dados.

Rodrigo_Carvalho_Aul

Não seria isso?

@Entity
public class Usuario {
	@Id
	private int codUsr;
	private String nome;

	@ManyToOne
	@JoinColumn(name = "Inscricao")
	private String doc;

}

@Entity
public class Documento {
	@Id
	private int codDoc;
	
	@OneToMany(mappedBy="doc")
	private Set<Usuario> usrs;
	
	@Column(name="Inscricao")
	private String docum;
}

Mesmo Inscricao não sendo chave estrangeira no banco, deve funcionar.

[]'s

Rodrigo Auler

Criado 9 de maio de 2008
Ultima resposta 9 de mai. de 2008
Respostas 6
Participantes 3