JSF + Primefaces + bd + mensagens de erro

Olá amigos depois de tanto sofrer, consegui inserir dados no meu bd com jsf e primefaces.
Só que o que me assustou foi a quantidade de mensagens no console.

Meu formulário inserir:

[code]

<?xml version="1.0" encoding="ISO-8859-1" ?> Cadastro de Paises .ui-widget, .ui-widget .ui-widget { font-size: 12px !important; }
[/code] Meu managedBean paisBean: [code]

package classe.controle.Beans;

import java.sql.SQLException;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import classe.modelo.dao.PaisDao;
import classe.modelo.vo.Pais;

@ManagedBean(name = “paisBean”)
@SessionScoped
public class PaisBean {
private String descricao;
private String sigla;
private String codigo;

Pais pais = new Pais();

public String getDescricao() {
	return descricao;
}

public void setDescricao(String descricao) {
	this.descricao = descricao;
}

public String getSigla() {
	return sigla;
}

public void setSigla(String sigla) {
	this.sigla = sigla;
}

public String getCodigo() {
	return codigo;
}

public void setCodigo(String codigo) {
	this.codigo = codigo;
}

public Pais getPais() {
	return pais;
}

public void setPais(Pais pais) {
	this.pais = pais;
}

public PaisBean() {
	inserir();
}

public String inserir() {
    pais.setDescricao(descricao);
    pais.setSigla(sigla);
    pais.setCodigo(codigo);
    PaisDao paisDao = new PaisDao();
    Boolean inserir;
	try {
		inserir = paisDao.inserir(pais);
		if(inserir != false){
  	       System.out.println("OK.Graças à Deus e Nossa Senhora!!!");
  	    }
	} catch (SQLException e) {
		e.printStackTrace();
	}
    
	return null;
}

}[/code]
Meu PaisDao:

package classe.modelo.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import classe.conexao.Conexao;
import classe.modelo.vo.Pais;

public class PaisDao {
	static Connection conexao;
	
	public PaisDao(){
    	conexao = Conexao.conectar();
    }
	
    public boolean inserir(Pais pais) throws SQLException{
    	try {
    		StringBuffer sql1 = new StringBuffer();
    		sql1.append("INSERT INTO pais (pais_descricao,pais_sigla_onu,pais_codigo_onu) "
                + "VALUES (?, ?, ?)");
    		PreparedStatement consulta1 = conexao.prepareStatement(sql1.toString());
    		consulta1.setString(1, pais.getDescricao());
    		consulta1.setString(2, pais.getSigla());
    		consulta1.setString(3, pais.getCodigo());
    		consulta1.execute();
    		
    		return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
    }
}

E as mensagens de erro no console após inserir:

04/04/2012 22:10:18 org.apache.catalina.core.AprLifecycleListener init
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre6/bin/client;C:/Program Files (x86)/Java/jre6/bin;C:/Program Files (x86)/Java/jre6/lib/i386;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Internet Explorer;C:\Program Files (x86)\Java\jdk1.6.0_25\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn;D:\eclipse;;.
04/04/2012 22:10:18 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
04/04/2012 22:10:18 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 289 ms
04/04/2012 22:10:18 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
04/04/2012 22:10:18 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.14
04/04/2012 22:10:19 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.1.0 (FCS FCS) para o contexto ‘/SystemSignageDoor’
04/04/2012 22:10:19 com.sun.faces.mgbean.BeanManager addBean
AVISO: JSF1074: O bean gerenciado denominado ‘empresaBean’ já foi registrado. Substituindo o tipo de classe do bean gerenciado classe.controle.Beans.EmpresaBean por classe.controle.Beans.EmpresaBean.
04/04/2012 22:10:19 com.sun.faces.mgbean.BeanManager addBean
AVISO: JSF1074: O bean gerenciado denominado ‘paisBean’ já foi registrado. Substituindo o tipo de classe do bean gerenciado classe.controle.Beans.PaisBean por classe.controle.Beans.PaisBean.
04/04/2012 22:10:20 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
04/04/2012 22:10:20 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
04/04/2012 22:10:20 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/19 config=null
04/04/2012 22:10:20 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1554 ms
org.postgresql.util.PSQLException: ERRO: valor nulo na coluna “pais_descricao” viola a restrição não-nula
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:381)
at classe.modelo.dao.PaisDao.inserir(PaisDao.java:26)
at classe.controle.Beans.PaisBean.inserir(PaisBean.java:63)
at classe.controle.Beans.PaisBean.(PaisBean.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:188)
at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:102)
at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
at org.apache.el.parser.AstValue.getValue(AstValue.java:86)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIOutput.getValue(UIOutput.java:169)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:309)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:55)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)
at org.primefaces.component.fieldset.FieldsetRenderer.encodeContent(FieldsetRenderer.java:95)
at org.primefaces.component.fieldset.FieldsetRenderer.encodeMarkup(FieldsetRenderer.java:76)
at org.primefaces.component.fieldset.FieldsetRenderer.encodeEnd(FieldsetRenderer.java:53)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:59)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)
at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:229)
at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:152)
at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:75)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
OK.Graças à Deus e Nossa Senhora!!!

Em algum lugar diz ERRO: valor nulo na coluna “pais_descricao” viola a restrição não-nula.

Mas eu verifiquei no banco e o campo pais_descricao está preenchido, ou seja, não está nulo.

O que pode ser esta enxurrada de mensagens :?:

O erro ocorre no banco:

veja a linha

valor nulo na coluna “pais_descricao” viola a restrição não-nula

pais_descricao não poder ser nulo.

coloca um break point, antes de gravar, a inspeciona o objeto a ser gravado, para ver se está nulo a variável

Eu disse no final da mensagem:

O insert ocorreu. Eu verifiquei a tabela no banco e os dados que eu acabei de inserir estão lá.
Não tem nenhum campo vazio, ou seja, a variável também não está vazia.

Então não pode ser isso, aparentemente.