galera tenho uma outra duvida seguinte tenhos duas classas anotadas 1 para n
Classe Cliente
Classe Dependente
Um Cliente pode ter varios dependentes
seguinte quando vou persistir quero sabe como faco para persistir varios dependentes ao mesmo tempo ou presciso fazer um por um e na hora de lista uso um displaytag prescisos configurar algo.
Não entendi bem a sua pergunta. Coloca um trecho do código e explica melhor. To trabalhando com hibernate e VRaptor, talvez possa te ajudar.
Abraço
M
Maicon_Fritsch
galera acho que nao consegui me explicar direito ne foi mal
seguinte galera to trabalhand em um relacionamento 1 para n
entre duas classes a classe Cliente e a Dependente
Cliente = 1
Dependente = N
consigo persistir normalmente agora eu queria saber o seguinte como faço para que durante o cadastro do cliente eu consiga cadastrar dois ou tres dependentes. nesse cliente eu consigo cadastra apenas um entende nao sei como faco no vraptor para cadastra mais dependentes.
Dependente.java@EntitypublicclassDependenteimplementsjava.io.Serializable{// Fields@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="id_dependente")privateLongid;@OneToMany(mappedBy="dependente",targetEntity=Cliente.class,fetch=FetchType.EAGER)privateCollectioncliente;//Sets e Getters
Cliente.java@EntitypublicclassClienteimplementsjava.io.Serializable{@Transientprivateinttemporaria;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="id_cliente")privateLongid;@ManyToOne(optional=false)@JoinColumn(name="id_dependente",referencedColumnName="id_dependente")privateDependentedependente;//seters and getters
o seu cliente não pode ter um dependente, ele tem que ter uma lista de dependentes.
Cliente.java@EntitypublicclassClienteimplementsjava.io.Serializable{@Transientprivateinttemporaria;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="id_cliente")privateLongid;@OneToManyprivateList<Dependente>dependente;//seters and getters
E o relacionamento é OneToMany, ja que um cliente pode ter vários dependentes.
No vRaptor, para em um formulário vc enviar vários dependentes, vc tem q trabalhar com uma estrutura no jsp que parece um array. Da uma olhada no site do vRaptor que deve te ajudar.
Qualquer coisa grita
M
Maicon_Fritsch
entaum agora eu acho que agora o relacionamento esta certo mais quando eu mando persistir ele nao persiste o id_dependente ele fica como null nao sei porque veja como ficou o codigo da minha jsp
ClienteLogic.java@Component@InterceptedBy(DaoInterceptor.class)publicclassClienteLogic{privatefinalDaoFactorydaoFactory;privateClientecliente;privateList<Cliente>clientes;@Parameter(create=true)privateList<Dependente>dependentes;publicClienteLogic(DaoFactorydaoFactory){this.daoFactory=daoFactory;}publicvoidformulario(){}publicvoideditar(Clientecliente){// carrega os dados no banco para edicaothis.cliente=this.daoFactory.getClienteDao().procura(cliente.getId());}// Adiciona um genero novo ou atualiza se for edicaopublicvoidarmazena(Clientecliente){this.daoFactory.beginTransaction();this.daoFactory.getClienteDao().atualiza(cliente);this.daoFactory.commit();System.out.println("Adicionou Cliente:"+cliente.getNome());// System.out.printf("Adicionou %s ao banco!%n", dependentes.toString());}// Remove um genero novo ou atualiza se for edicaopublicvoidremove(Clientecliente){this.daoFactory.beginTransaction();this.daoFactory.getClienteDao().remove(cliente);this.daoFactory.commit();System.out.println("Removeu o Cliente:"+cliente.getNome());}publicvoidlista(){this.clientes=this.daoFactory.getClienteDao().listaTodos();System.out.println("Removeu o Cliente:"+clientes);}publicClientegetCliente(){returncliente;}publicList<Cliente>getClientes(){returnclientes;}//list para relacionamentos// metodo usado para popular o selectpublicList<Funcionario>getListaFuncionarios(){returnthis.daoFactory.getFuncionarioDao().listaTodos();}publicList<Dependente>getDependentes(){returnthis.dependentes;}}
quando mando gravar no banco ele grava mais nao atualiza a tabela dependente com o ip do cliente. mais nao da nenhum erro
P
paulohrl
Cara,
to enroladasso no trampo agora.
assim que chegar em casa vou dar uma atenção pra isso ai e posto o que encontrar valew?
Abraço
M
Maicon_Fritsch
ai valeu mesmo fica frio ajuda dentre de suas possibilidades que ja sou muito grato vlw