Erro ao utilizar o linkedInvocation

Bom dia Pessoal!
Outro dia postei uma dúvida quanto a utilizar Get/Set de atributos do tipo Objeto.

package bean;
import bean.Titulacao;
public class Professor {
	private int pfr_id;
	private String pfr_matricula; 
	private String pfr_nome;
	private Titulacao pfr_titulacao;  
	private double pfr_qtdHoras;
	
	public int getPfr_id() {
		return pfr_id;
	}
	public void setPfr_id(int pfr_id) {
		this.pfr_id = pfr_id;
	}
	public String getPfr_matricula() {
		return pfr_matricula;
	}
	public void setPfr_matricula(String pfr_matricula) {
		this.pfr_matricula = pfr_matricula;
	}
	public String getPfr_nome() {
		return pfr_nome;
	}
	public void setPfr_nome(String pfr_nome) {
		this.pfr_nome = pfr_nome;
	}
	public double getPfr_qtdHoras() {
		return pfr_qtdHoras;
	}
	public void setPfr_qtdHoras(double pfr_qtdHoras) {
		this.pfr_qtdHoras = pfr_qtdHoras;
	}
	public Titulacao getPfr_titulacao() {
		return pfr_titulacao;
	}
	public void setPfr_titulacao(Titulacao pfr_titulacao) {
		this.pfr_titulacao = pfr_titulacao;
	}
}

Depois de algumas pesquisas descobri que poderia ser da forma abaixo:

   1.  int titId = Integer.parseInt(request.getParameter("titId")); --> request campo Titulacao do FORM.HTML   
   2. Titulacao titulacao = titulacaoDao.getTitulacao(tit); ------> retorna Objeto Titulação de acordo com o titID  
   3. professor.setPfr_titulacao(titulacao); ----------------------> executa o método Set       

Dessa forma funciona corretamente, mas me sugeriram também a utilização do linkeInvokation o qual achei bem mais prático. Ocorre que ao inserir um novo registro ele retornar o erro abaixo:

java.lang.NullPointerException 

O erro acontece no momento do SET:

if (acao.equals("atualizar")) {	
	String matricula = request.getParameter("matricula");	
	String nome = request.getParameter("nome");
	double qtdHoras = Double.parseDouble(request.getParameter("qtdHoras"));	
	int tit = Integer.parseInt(request.getParameter("tit"));	
	if(id==0){  
		professor = new Professor();
	}else{
		professor = professorDao.getProfessor(id);
	}
	professor.setPfr_matricula(matricula);
	professor.setPfr_nome(nome);

//	titulacao = titulacaoDao.getTitulacao(tit);
//	professor.setPfr_titulacao(titulacao);


	professor.getPfr_titulacao().setTtl_id(tit);  ----------> nesse momento ocorre o erro, e somente na inserção.
	

	
	professor.setPfr_qtdHoras(qtdHoras);
	if(id==0){  
		professorDao.Inserir(professor);
	}else{
		professorDao.Alterar(professor);
	}
}

Dei carga de alguns registros MANUALMENTE e fiz algumas alterações e funcionou corretamente, porém ao inserir um registro NOVO, a rotina apresenta erro. O trecho do código acima é utilizado tanto para Alteração como para Inserção T de registros.

hummm… sendo um java.lang.NullPointerException, ou o professor é nulo ou o professor.pfr_titulacao é nulo.

Como você comentou a linha que atribui um objeto ao professor.pfr_titulacao, acho que esse ó o objeto candidato a ser nulo! :wink:

Prova dos nove: antes da linha do erro, adicione o seguinte:

professor.setPfr_titulacao(new Titulacao());

Se funcionar, minha tese está correta. :wink:

Olá Gleise,
Na prova dos noves você tirou 10…
Valeu a dica.
Obrigado.