[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Relacionamento Many to Many  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
LeonardoBH
Equipe

Membro desde: 08/01/2009 12:28:04
Mensagens: 6
Offline

Olá, boa tarde, seria que tem como alguem me ajudar no relacionamento Many to many?

Eu tenho duas tabelas, a tabela Processo, e a Tabela Advogado, é um relacionamento n para n. Criei uma terceira tabela Advogado_Processo, nela contem o Código do Advogado e do processo.

Meu Bean Advogado tá assim:

@Entity
@SequenceGenerator(name="sq_advogado", sequenceName="sq_advogado")
public class Advogado {

Integer Codigo;
String nome;
String endereco;
String cep;
Cidade cidade;
Uf uf;
String telefone;
String celular;
String email;
String OAB;
Tipoadvogado Tipo_adv;

Sets...e gets....

Quem puder me ajudar fico grato,

Leonardo
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Como está os outros beans?

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
LeonardoBH
Equipe

Membro desde: 08/01/2009 12:28:04
Mensagens: 6
Offline

Esse Bean é o que relaciona a Classe Advogado com a Classe Processo:

package org.neoframework.exemplo.bean;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;

import br.com.linkcom.neo.validation.annotation.Required;

@Entity
@SequenceGenerator(name="sq_adv_proc", sequenceName="sq_adv_proc")
public class Advogado_processo {

Integer codigo;
Advogado advogado;
Processo processo;


@Id
@GeneratedValue(strategy=GenerationType.AUTO , generator="sq_adv_proc")
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="advogado")
@Required
public Advogado getAdvogado() {
return advogado;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="processo")
@Required
public Processo getProcesso() {
return processo;
}
public void setAdvogado(Advogado advogado) {
this.advogado = advogado;
}
public void setProcesso(Processo processo) {
this.processo = processo;
}






}
LeonardoBH
Equipe

Membro desde: 08/01/2009 12:28:04
Mensagens: 6
Offline

Esse é o Bean Processo:

package org.neoframework.exemplo.bean;


import java.sql.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;

import br.com.linkcom.neo.bean.annotation.DescriptionProperty;
import br.com.linkcom.neo.validation.annotation.Required;

@Entity
@SequenceGenerator(name="sq_processo", sequenceName="sq_processo")
public class Processo {

Integer codigo;
String tribunal;
String vara_comarca;
String descricao;
Date data_cadastro;
String numero;


@Required
@DescriptionProperty
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getDescricao() {
return descricao;
}
@Required
public String getVara_comarca() {
return vara_comarca;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO , generator="sq_processo")
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Required
public String getTribunal() {
return tribunal;
}
public void setTribunal(String tribunal) {
this.tribunal = tribunal;
}
public void setVara_comarca(String vara_comarca) {
this.vara_comarca = vara_comarca;
}
public Date getData_cadastro() {
return data_cadastro;
}
public void setData_cadastro(Date data_cadastro) {
this.data_cadastro = data_cadastro;
}



}
LeonardoBH
Equipe

Membro desde: 08/01/2009 12:28:04
Mensagens: 6
Offline

Eu queria que no crud de processos, que pudessem ser inseridos vários advogados.

Muito obrigado pela ajuda Pedro.

Abraço
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

É recomendável utilizar 2 relacionamentos ao invés de um manytomany.

O hibernate não suporta muito bem (via annotations) uma tabela de ligacao com um pk sequencial (ele ignora o sequencial na hora de salvar)

É melhor voce desenhar o relacionamento dessa forma:

Processo -> OneToMany para AdvogadoProcesso
AdvogadoProcesso -> ManyToOne para Advogado

No final das contas vc terá o many to many, só que terá que usar um getter a mais..

No crud de processo vc faz assim

Code:
 <t:property name="tribunal"/>
 <t:property name="vara_comarca"/>
 .
 .
 .
 <t:detalhe name="listaAdvogadoProcesso"> -->propriedade onetomany
      <t:property name="advogado"/> 
       --> Coloque aqui um hidden para o id de advogadoprocesso
 </t:detalhe>
 
 
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

outra coisa.. não use underscores (_) para separar os nomes....


data_cadastro -> dataCadastro


e não use letras maiusculas para atributos

Tipoadvogado Tipo_adv; -> Tipoadvogado tipoAdv;

E também use nomes completos:

tipoAdv; -> tipoAdvogado
LeonardoBH
Equipe

Membro desde: 08/01/2009 12:28:04
Mensagens: 6
Offline

Valeu Rógel, consegui resolver já.

Um abraço

Obrigado.
daniel.netti
Equipe

Membro desde: 20/05/2009 14:06:28
Mensagens: 1
Offline

Como você conseguiu resolver? Estou com um problema parecido, poderia postar a solução?
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

Olá amigo... que problema voce está tendo???

Posta aí que a gente resolve..

até mais
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team