Problemas com iserçao de dados jsf e hibernate

10 respostas
Regis_A_Rocha

Galera estou com um problema aqui qdo vou adicionar um aluno da essa execption

10 Respostas

Regis_A_Rocha

04/08/2009 21:04:59 com.sun.faces.lifecycle.ProcessValidationsPhase execute
WARNING: /secretaria/cadastro.jsp(21,8) '#{alunoHandler.aluno.endereco.rua}' Tar
get Unreachable, 'endereco' returned null
org.apache.jasper.el.JspPropertyNotFoundException: /secretaria/cadastro.jsp(21,8
) '#{alunoHandler.aluno.endereco.rua}' Target Unreachable, 'endereco' returned n
ull
at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(
HtmlBasicInputRenderer.java:81)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
at javax.faces.component.UIInput.validate(UIInput.java:860)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
at javax.faces.component.UIInput.processValidators(UIInput.java:666)
at javax.faces.component.UIForm.processValidators(UIForm.java:229)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:1030)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:59)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:321)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.
java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.ja
va:171)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:335)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at br.com.gerenciador.util.HibernateSessionFilter.doFilter(HibernateSessionFilt
er.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
04/08/2009 21:04:59 com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: executePhase(PROCESS_VALIDATIONS 3,com.sun.faces.context.FacesContextIm
pl@7c7894) threw exception
javax.faces.FacesException: /secretaria/cadastro.jsp(21,8) '#{alunoHandler.aluno
.endereco.rua}' Target Unreachable, 'endereco' returned null
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:108)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at br.com.gerenciador.util.HibernateSessionFilter.doFilter(HibernateSessionFilt
er.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jasper.el.JspPropertyNotFoundException: /secretaria/cadast
ro.jsp(21,8) '#{alunoHandler.aluno.endereco.rua}' Target Unreachable, 'endereco'
returned null
at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(
HtmlBasicInputRenderer.java:81)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
at javax.faces.component.UIInput.validate(UIInput.java:860)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
at javax.faces.component.UIInput.processValidators(UIInput.java:666)
at javax.faces.component.UIForm.processValidators(UIForm.java:229)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:1030)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:59)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:321)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.
java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.ja
va:171)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:335)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:100)
... 22 more
04/08/2009 21:04:59 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.apache.jasper.el.JspPropertyNotFoundException: /secretaria/cadastro.jsp(21,8
) '#{alunoHandler.aluno.endereco.rua}' Target Unreachable, 'endereco' returned n
ull
at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(
HtmlBasicInputRenderer.java:81)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
at javax.faces.component.UIInput.validate(UIInput.java:860)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
at javax.faces.component.UIInput.processValidators(UIInput.java:666)
at javax.faces.component.UIForm.processValidators(UIForm.java:229)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:1030)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:59)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:321)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.
java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.ja
va:171)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:335)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at br.com.gerenciador.util.HibernateSessionFilter.doFilter(HibernateSessionFilt
er.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
[code][quote][flash][/flash][img]

Regis_A_Rocha

[img]package br.com.gerenciador.modelo;

import java.util.Calendar;

import javax.persistence.Embedded;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Temporal;

import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

@Entity

@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)

public class Aluno {

@Id

@GeneratedValue

private Long id;

private String nome;

private String sexo;

private String localNascimento;

@Temporal(TemporalType.DATE)

private Calendar dataNascimento;

private String estado;

private String nomePai;

private String nomeMae;

private String nacionalidade;

private int ddd;

private String telefone;

private String observacao;

private Long registroMatricula;

private Long registroAcademico;

@Embedded

private Endereco endereco;
public Endereco getEndereco() {
	return endereco;
}

public void setEndereco(Endereco endereco) {
	this.endereco = endereco;
}

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getSexo() {
	return sexo;
}

public void setSexo(String sexo) {
	this.sexo = sexo;
}

public String getLocalNascimento() {
	return localNascimento;
}

public void setLocalNascimento(String localNascimento) {
	this.localNascimento = localNascimento;
}

public Calendar getDataNascimento() {
	return dataNascimento;
}

public void setDataNascimento(Calendar dataNascimento) {
	this.dataNascimento = dataNascimento;
}

public String getEstado() {
	return estado;
}

public void setEstado(String estado) {
	this.estado = estado;
}

public String getNomePai() {
	return nomePai;
}

public void setNomePai(String nomePai) {
	this.nomePai = nomePai;
}

public String getNomeMae() {
	return nomeMae;
}

public void setNomeMae(String nomeMae) {
	this.nomeMae = nomeMae;
}

public String getNacionalidade() {
	return nacionalidade;
}

public void setNacionalidade(String nacionalidade) {
	this.nacionalidade = nacionalidade;
}

public int getDdd() {
	return ddd;
}

public void setDdd(int ddd) {
	this.ddd = ddd;
}

public String getTelefone() {
	return telefone;
}

public void setTelefone(String telefone) {
	this.telefone = telefone;
}

public String getObservacao() {
	return observacao;
}

public void setObservacao(String observacao) {
	this.observacao = observacao;
}

public Long getRegistroMatricula() {
	return registroMatricula;
}

public void setRegistroMatricula(Long registroMatricula) {
	this.registroMatricula = registroMatricula;
}

public Long getRegistroAcademico() {
	return registroAcademico;
}

public void setRegistroAcademico(Long registroAcademico) {
	this.registroAcademico = registroAcademico;
}

}

Regis_A_Rocha

[img]package br.com.gerenciador.modelo;

import javax.persistence.Embeddable;

@Embeddable
public class Endereco {

private String rua;
private String cidade;
private int numero;
private String cep;
private String complemento;
private String bairro;

public String getRua() {
	return rua;
}

public void setRua(String rua) {
	this.rua = rua;
}

public String getCidade() {
	return cidade;
}

public void setCidade(String cidade) {
	this.cidade = cidade;
}

public int getNumero() {
	return numero;
}

public void setNumero(int numero) {
	this.numero = numero;
}

public String getCep() {
	return cep;
}

public void setCep(String cep) {
	this.cep = cep;
}

public String getComplemento() {
	return complemento;
}

public void setComplemento(String complemento) {
	this.complemento = complemento;
}

public String getBairro() {
	return bairro;
}

public void setBairro(String bairro) {
	this.bairro = bairro;
}

}

Regis_A_Rocha

[img]package br.com.gerenciador.logic;

import java.io.Serializable;

import org.hibernate.Session;

import br.com.gerenciador.dao.GenericHibernateDao;

import br.com.gerenciador.modelo.Aluno;

import br.com.gerenciador.modelo.Endereco;

import br.com.gerenciador.util.HibernateUtil;

public class AlunoHandler {

private Aluno aluno = new Aluno();
private Endereco endereco = new Endereco();

public Aluno getAluno() {
	return aluno;
}

public Endereco getEndereco() {
	return endereco;
}

public String adiciona() {
	Session session = HibernateUtil.currentSession();
	GenericHibernateDao<Aluno, Serializable> dao = new GenericHibernateDao<Aluno, Serializable>(
			session, Aluno.class) {
	};
	dao.save(this.aluno);

	this.aluno = new Aluno();
	return "sucesso";
}

}

Regis_A_Rocha

<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>

Cadastro de Aluno
<f:view>
	<h:form>
		Nome: <h:inputText value="#{alunoHandler.aluno.nome}"/><br/>
		Sexo: <h:inputText value="#{alunoHandler.aluno.sexo}"/><br/>
		Nome Pai: <h:inputText value="#{alunoHandler.aluno.nomePai}"/><br/>
		Nome Mãe: <h:inputText value="#{alunoHandler.aluno.nomeMae}"/><br/><br/>
		ENDEREÇO:<br/><br/>
		Rua: <h:inputText value="#{alunoHandler.aluno.endereco.rua}"/><br/>
		Cidade: <h:inputText value="#{alunoHandler.aluno.endereco.cidade}"/><br/>
		Bairro: <h:inputText value="#{alunoHandler.aluno.endereco.bairro}"/><br/>
		Complemento: <h:inputText value="#{alunoHandler.aluno.endereco.complemento}"/><br/>
		Numero: <h:inputText value="#{alunoHandler.aluno.endereco.numero}"/><br/>
		CEP: <h:inputText value="#{alunoHandler.aluno.endereco.cep}"/><br/>
		
		<h:commandButton value="Gravar" action="#{alunoHandler.adiciona}"/>
	</h:form>
</f:view>
Regis_A_Rocha

me ajuda ai galera

Cherubini

cara é o seguinte, vc esta dando new no endereco:

private Endereco endereco = new Endereco();

vc tem q instanciar no atributo endereco da classe aluno

aluno.setEndereco(new Endereco());

pq quando na pagina jsf ele tentar achar aluno.endereco.rua ele vai dar um nullpointer pois não existe endereco instanciado na classe.

Abraços

Regis_A_Rocha

O cara vlw msm viu… vo fazer isso

Cherubini

Se você quiser uma solução legal

faz assim:

private Aluno aluno = new Aluno();
{
  aluno.setEndereco(new Endereco());
}

Você usa o bloco dinamico do java, ele executa isso antes do construtor da classe!É uma alternativa!!!

Abraço

jv.nicocelli

Boa Tarde,

Estou com o mesmo problema porém se eu inistanciar o endereço assim

private Endereco endereco;

Quando dou um submit no form ocorre a exception.

Caso eu faça:

private Endereco endereco = new Endereco();

Ai não da a exception porém insere o endereço NULL.

Podem me dar uma luz?

Criado 4 de agosto de 2009
Ultima resposta 16 de mai. de 2012
Respostas 10
Participantes 3