Bug no Commons DBUtils?

Olá:

Hoje tentei usar usar a biblioteca Commons DbUtils do Projeto Jakarta. Entretanto estou um tanto decepcionado. Vejam: No programa abaixo faço uso do método toBeanList() da classe BasicRowProcessor. Este método pega um ResultSet e gera uma lista preenchida com instancias de um certa Classe.
Eis o Programa:


import java.sql.*;
import java.util.List;

import org.apache.commons.dbutils.*;
import org.apache.commons.dbutils.handlers.*;

/**
 * @author rafael
 *
 */
public class TestChar {

    public static void main(String[] args) throws Exception {
           Connection conn = null;
           Statement stmt = null;
           ResultSet rs = null;
           try {
               System.out.println("starting ...");
               Class.forName("com.mysql.jdbc.Driver").newInstance();
               conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/order", "root", "");
               stmt = conn.createStatement();
               rs = stmt.executeQuery("SELECT * FROM tipo_ocorrencia");
               List list = (List) BasicRowProcessor.instance().toBeanList(rs, TipoOcorrencia.class);
               for(java.util.Iterator it = list.iterator(); it.hasNext(); ) {
                  System.out.println(((TipoOcorrencia)it.next()));
               }
           } finally {
             DbUtils.close(rs);
             DbUtils.close(stmt);
             DbUtils.close(conn);
           }
    }
}

Agora o Bean:

import java.io.Serializable;


/**
 * @author rafael
 *
 * @
 */
public class TipoOcorrencia implements Serializable {
    private int codigo;
    private String descricao;
    private char codTipoAtor;
    //Atributo Lazy

    /**
     * @return
     */
    public int getCodigo() {
        return codigo;
    }

    /**
     * @return
     */
    public String getDescricao() {
        return descricao;
    }

    /**
     * @return
     */
    public char getCodTipoAtor() {
        return codTipoAtor;
    }

    /**
     * @param i
     */
    public void setCodigo(int i) {
        codigo = i;
    }

    /**
     * @param string
     */
    public void setDescricao(String string) {
        descricao = string;
    }

    /**
     * @param i
     */
    public void setCodTipoAtor(char c) {
        codTipoAtor = c;
    }

    public int hashCode() {
        return this.getCodigo();
    }

    public boolean equals(Object oth) {
        if (this == oth) {
            return true;
        }

        if (oth == null) {
            return false;
        }

        if (oth.getClass() != getClass()) {
            return false;
        }

        TipoOcorrencia other = (TipoOcorrencia)oth;

        if (this.codigo != other.codigo) {
            return false;
        }

        return true;
    }

    /**
     * @return
     * @see java.lang.Object#toString()
     */
    public String toString() {
        StringBuffer sbObject = new StringBuffer(this.getClass().getName() + "[");

        sbObject.append("codigo=").append(this.getCodigo());
        sbObject.append(", descricao=").append(this.getDescricao());
        sbObject.append(", codTipoAtor=").append(this.getCodTipoAtor());

        sbObject.append("]");
        return sbObject.toString();
    }


}

E Agora o Banco de dados:

CREATE TABLE tipo_ocorrencia (
  codigo int(10) unsigned NOT NULL auto_increment,
  descricao varchar(45) NOT NULL default '',
  codTipoAtor char(1) NOT NULL default '',
  PRIMARY KEY  (codigo),
  KEY tipo_ocorrencia_dewscricao (descricao),
  KEY tipo_ocorrencia_tipoAtor_descricao (codTipoAtor,descricao)
) TYPE=MyISAM;

INSERT INTO tipo_ocorrencia (codigo, descricao, codTipoAtor) VALUES("6", "insercão", "N");
INSERT INTO tipo_ocorrencia (codigo, descricao, codTipoAtor) VALUES("7", "Listagem
do dia", "N");
INSERT INTO tipo_ocorrencia (codigo, descricao, codTipoAtor) VALUES("8", "ato 1", "I");
INSERT INTO tipo_ocorrencia (codigo, descricao, codTipoAtor) VALUES("9", "ato 2", "I");

Pois bem, quando vou executar o programa aparece a seguinte mensagem:

Ou seja, para de imprimir na primeira linha.
Se eu substituir a linha do System.out.println(), dentro do for por

System.out.println(((TipoOcorrencia)it.next()).getCodigo());

Aparece o seguinte:

Apesar de pegar as quatro linhas da tabela, não lê o código (um campo int).
Se eu substituir a linha do System.out.println(), dentro do for por

System.out.println(((TipoOcorrencia)it.next()).getDescricao());

Aparece o seguinte:

Aqui pelo menos está correto.
E finalmente, se eu substituir a linha do System.out.println(), dentro do for por

System.out.println(((TipoOcorrencia)it.next()).getCodTipoAtor());

Aparece o seguinte:

Ou seja, aparece algum problema em getCodTipoAtor(). Aparentemente há algum problema na hora de pegar atributos de tipos primitivos.

Alguém já usou esta biblioteca? Já passou por isso? Conseguiu resolver? Como?

Grato,