Problema para grava dados no banco

Bom dia pessoal, estou com um probleminha para inserir dados no banco estou usando o framework spring para mapear as minha classe e beans.
o problema é o seguinte estou fazendo um cadastro onde estou tentando inserir vários tipos de dados diferentes de classe diferentes também,
criei as classes, os daos, daos.Impl, classe scope, e as classes de negócio.

o meu bean esta dessa forma

package br.gera.quiz.Apresentacao;

import java.io.Serializable;
import javax.faces.model.ListDataModel;
import javax.inject.Inject;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import br.gera.quiz.dominio.Alternativa;
import br.gera.quiz.dominio.Categoria;
import br.gera.quiz.dominio.Nivel;
import br.gera.quiz.dominio.Pergunta;
import br.gera.quiz.negocio.GerenciadorAlternativa;
import br.gera.quiz.negocio.GerenciadorCategoria;
import br.gera.quiz.negocio.GerenciadorNivel;
import br.gera.quiz.negocio.GerenciadorPerguntas;

@Component
@Scope("view")
public class QuizMBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Inject
	private GerenciadorPerguntas gerenciador;
	private Pergunta pergunta = new Pergunta();
	private ListDataModel<Pergunta> perguntas;

	private GerenciadorAlternativa gerenciadorAlt;
	private Alternativa alternativa = new Alternativa();
	private ListDataModel<Alternativa> altenativas;

	private GerenciadorCategoria gerenciadorCat;
	private Categoria categoria = new Categoria();
	private ListDataModel<Categoria> categorias;

	private GerenciadorNivel gerenciaNivel;
	private Nivel nivel = new Nivel();
	private ListDataModel<Nivel> niveis;

	public String salvar() {
		try {
			gerenciador.salvar(pergunta);
			System.out.println("cad de pergunta o resultado é: "
					+ pergunta.getId());

		} catch (Exception e) {
			e.printStackTrace();
		}
		try {
			gerenciadorCat.salvar(categoria);
			System.out.println("cad de categoria resultado é: "
					+ categoria.getId());

		} catch (Exception e) {
			e.printStackTrace();
		}
		try {

			gerenciaNivel.salvar(nivel);
			System.out.println("resultado é: " + nivel.getId());
		} catch (Exception e) {
			e.printStackTrace();
		}
		try {
			gerenciadorAlt.salvar(alternativa);
			System.out.println("resultado é: " +alternativa.getId());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "form";
	}

	public String editar() {
		pergunta = perguntas.getRowData();
		System.out.println(pergunta.getId());
		return "form";

	}

	public String remover() {
		pergunta = perguntas.getRowData();
		gerenciador.remover(pergunta);
		return null;
	}
//getters and setters

erro que gera.

30/06/2012 10:36:16 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\MATLAB\R2011a\runtime\win32;C:\Program Files\MATLAB\R2011a\bin;C:\Users\Usuario\Documents\ferramentas java\eclipse;;.
30/06/2012 10:36:16 org.apache.tomcat.util.digester.SetPropertiesRule begin
AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Quizv5' did not find a matching property.
30/06/2012 10:36:16 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
30/06/2012 10:36:16 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
30/06/2012 10:36:16 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 595 ms
30/06/2012 10:36:16 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
30/06/2012 10:36:16 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.22
30/06/2012 10:36:16 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
30/06/2012 10:36:19 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.0.3 (FCS b03) para o contexto '/AppQuiz2'
30/06/2012 10:36:19 com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes.  Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
30/06/2012 10:36:20 org.primefaces.webapp.PostConstructApplicationEventListener processEvent
INFO: Running on PrimeFaces 3.3
30/06/2012 10:36:20 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
30/06/2012 10:36:20 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
30/06/2012 10:36:20 org.apache.catalina.startup.Catalina start
INFO: Server startup in 3984 ms
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select this_.id as id4_2_, this_.enunciato as enunciato4_2_, this_.id_nivel as id3_4_2_, nivel2_.id as id3_0_, nivel2_.id_categoria as id3_3_0_, nivel2_.descNivel as descNivel3_0_, categoria3_.id as id1_1_, categoria3_.desCategoria as desCateg2_1_1_ from pergunta this_ left outer join nivel nivel2_ on this_.id_nivel=nivel2_.id left outer join categoria categoria3_ on nivel2_.id_categoria=categoria3_.id
Hibernate: select nextval ('hibernate_sequence')
Hibernate: insert into pergunta (enunciato, id_nivel, id) values (?, ?, ?)
cad de pergunta o resultado é: 50
java.lang.NullPointerException
	at br.gera.quiz.Apresentacao.QuizMBean.salvar(QuizMBean.java:52)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
	at br.gera.quiz.Apresentacao.QuizMBean.salvar(QuizMBean.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
	at br.gera.quiz.Apresentacao.QuizMBean.salvar(QuizMBean.java:67)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Não sei o que fazer já faz muito tempo estou enrrolado com isso, se alguém puder me ajudar fico grato

Você precisa instanciar um objeto antes de utiliza-lo. Nesse seu caso, é esse cara aqui da classe QuizMBean:

 private GerenciadorPerguntas gerenciador;

Mas provavelmente há outros objetos não instanciados.

Basta olhar o log do erro, ele te mostra exatamente a linha do erro:[quote]at br.gera.quiz.Apresentacao.QuizMBean.salvar(QuizMBean.java:52) [/quote]

Tem algum valor aí que está como null;