[JSF] Preencher Campos Dinamicamente

3 respostas
colored

Então To Precisando de algo assim, o cara digita o cep dele, e os campos tipo rua, bairro cidade, estado. Sejam Mostrados nos Input’s…

Tipo no Caso eu Tenho um Usuario que tem Relacionamento Com Endereco, e esse endereco tem relacionamento com logradouro que eh uma tabela onde tem Logradouro Inseridos já…

Montei 2 metodos pra me retornar um endereço com o logradouro já

public static Logradouro returnLogradouro(Logradouro logradouro){
		Map<String, Object> parametros = new HashMap<String, Object>();
		parametros.put("cep", logradouro.getCep());
		logradouro = new DAOFactory().getLogradouroDAO().ObjetoPorCriterio("from Logradouro l where l.cep = :cep", parametros);
			if(logradouro != null){
				return logradouro;
			}
			else{
				return null;
			}		
	}
	
	public static Endereco teste(Logradouro logradouro){
		Endereco endereco = new Endereco();
		if(returnLogradouro(logradouro) != null){
			endereco.setLogradouro(returnLogradouro(logradouro));
			System.out.println(endereco.getLogradouro().getNome_End());
		}
		else{
			endereco = null;
		}
			return endereco;
	}

Bom Até ai blz, mas agora eu preciso que esse endereço retornado seja preenchido na tela…

ai eu fiz

public void nameChanged(ValueChangeEvent event){
		FacesUtil.messageInfo(event.getNewValue().toString());
				Logradouro l = new Logradouro();
		l.setCep(event.getNewValue().toString());
		Endereco e = new TesteEndereco().teste(l);
		nmEnd.setValue(e.getLogradouro().getNome_End());
		cidEnd.setValue(e.getLogradouro().getCidade());
	}
So que na hora q eu vou salvar se eu imprimir tipo usuario.getendereco().getLogradouro.getCidade();

ele imprime de boa, se imprime eh pq tem o endereço.

Mas qdo eu do um dao.salvar(usuario);

ele da erro e fala que o endereço nao pode ser nulo.

Alguem entende que doidera eh essa.???
Se alguem puder me ajudar Muiot Obrigado.

3 Respostas

r_Jovelli

Passa o erro que o compilador está mostrando…
:slight_smile: :slight_smile: :slight_smile:

colored

Que o Campo Endereço num pode ser nulo…

13:59:12,218 ERROR JDBCExceptionReporter:78 - Column 'Endereco_ID' cannot be null
org.hibernate.exception.ConstraintViolationException: could not insert: [Unimed.Entity.Usuario]

Pior q eu fiz assim

if(usuario.getEndereco() != null){
				FacesUtil.messageError("Nao Eh Nulo");
				dao.salvar(usuario);
				return"";
			}
				usuario.setEndereco(new DAOFactory().getEndereçoDAO().procurarPorId(2));
				dao.salvar(usuario);

Ele printa que nao eh nulo, mas fala q o EndereçoID nao pode ser nulo na hora d salvar ;/

colored

Fikei pensando em uma possibilidades e acho q eh pq o Endereço não Foi Salvo…
Eu keria que fosse salvo junto com Usuario…

TEm q usar Cascade neh…
Como Ficaria???

Criado 8 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 3
Participantes 2