Fórum Inserções em varias tabelas #8072
29/07/2009
0
obrigado.
package br.org.shift.managedbean;
import br.org.shift.dao.FactoryDAO;
import br.org.shift.persistencia.Cliente;
import br.org.shift.persistencia.Contato;
import br.org.shift.persistencia.TelefoneContato;
public class ClienteManagerBean {
public Contato getContato() {
return contato;
}
public void setContato(Contato contato) {
this.contato = contato;
}
private Cliente cliente = new Cliente();
private Contato contato = new Contato();
private TelefoneContato telefoneContato = new TelefoneContato();
public TelefoneContato getTelefoneContato() {
return telefoneContato;
}
public void setTelefoneContato(TelefoneContato telefoneContato) {
this.telefoneContato = telefoneContato;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public String saveCliente(){
try {
if (buscarCPFCNPJ() == false){
FactoryDAO.getCLIENTE_DAO().save(cliente);
FactoryDAO.getCONTATO_DAO().save(contato);
FactoryDAO.getTELEFONE_CONTATO_DAO().save(telefoneContato);
}
else{
return "cadastroerro";
}
} catch (Exception e) {
e.printStackTrace();
return "cadastroerro";
}
return "cadastrosucesso";
}
public boolean buscarCPFCNPJ(){
try {
if (FactoryDAO.getCLIENTE_DAO().buscaCPFCNPJ(cliente.getCpfCnpjCliente())== false){
return false;
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
Cristian Mietlicki
Curtir tópico
+ 0Posts
29/07/2009
Dyego Carmo
Assim posso sugerir algo mais proximo da sua realidade.
Gostei + 0
29/07/2009
Cristian Mietlicki
Gostei + 0
29/07/2009
Dyego Carmo
dyego.leal@gmail.com
Gostei + 0
29/07/2009
Cristian Mietlicki
Gostei + 0
29/07/2009
Cristian Mietlicki
Gostei + 0
29/07/2009
Dyego Carmo
Gostei + 0
29/07/2009
Cristian Mietlicki
Gostei + 0
29/07/2009
Dyego Carmo
Gostei + 0
29/07/2009
Cristian Mietlicki
Gostei + 0
31/07/2009
Dyego Carmo
Desculpa pela demora...
Voce pode mandar o hibernate salvar todos de uma vez só... COMO ?
Crie em sua entidade Cliente um metodo:
public void addContato(Contato cont) {
cont.setCliente(this);
if (contato == null) {
contato = new LinkedList<Contato>();
}
contato.add(cont);
}
Pronto.. voce pode chamar o getDaoCliente().save(cliente) que o hibernate vai detectar que existe um CONTATO que não foi salvo e vai salvar tambem...
Faca o mesmo para o telefone :)
Valeu !
Gostei + 0
31/07/2009
Cristian Mietlicki
Gostei + 0
31/07/2009
Dyego Carmo
Vai com fé :)
Gostei + 0
31/07/2009
Cristian Mietlicki
Gostei + 0
31/07/2009
Cristian Mietlicki
public void addContato(Contato cont) {
cont.setCliente(this);
if (contato == null) {
contato = new LinkedList<Contato>();
}
contato.add(cont);
}
Gostei + 0
31/07/2009
Dyego Carmo
voce borta este medoto no sei Cliente.java
ai vc cria um cliente:
Cliente cli = new Cliente();
depois que insetit um contato e cria um contato:
Contato conta = new Contato();
Como que vc diz para o hibernate que um cliente possui este contato ?
cli.addContato(conta);
Factory.getDAOCliente().save(cli);
Entendeu ?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)