Problema Setando 0 campo vazio!

Galera estou com duvida,de como posso que o campo RAMAL não retorne 0 na hora que faço a busca.

ele é INTEGER eu ja sei que se estiver vazia ele retornara 0 por isso fiz a validação , mas o problema que assim msm ele seta 0 no campo ,

como poderia resolver esse problema valeu! (é [color=red]DESKTOP[/color])

[code]@Override
public void inserir(TelefoneSeguradoTO objeto) throws SQLException
{
try
{
pstm = conexao.prepareStatement(INSERIR_TELEFONE);
pstm.setInt( 1, objeto.getCodigoSegurado());
pstm.setString(2, objeto.getTipoTelefone().getCodigoTipoDominio());
pstm.setInt( 3, objeto.getCodigoDdd());
pstm.setInt( 4, objeto.getNumeroTelefone());

                                           pstm.setInt(   5, objeto.getNumeroRamal()); // esse aqui teria que transformar para string ou retornar nulo na tela..caso não for preenchido

		pstm.executeUpdate();	
	}
	finally
	{
		if(pstm!= null)
		{
			pstm.close();
		}
	}
}[/code]

tentou usar um setNull?

Eu não entendi muito bem,

mesmo quando o metodo “objeto.getNumeroRamal()” retorna null ele grava no banco 0 ? é isso?

então isso msm ele retorna 0 setado no campo,por ser integer!!

achu que poderia transformar ele pra String,seria mais facil!

por exemplo assim, caso alguem tenha solução mais favoravel e facil , agradeço!:

(seguradoTO.getCodigo()== 0 ? "" : new StringBuilder(seguradoTO.getCodigo()).toString());

olha, ao meu ver, isso acontece porque o numeroRamal é int (não Integer), portanto, ele não permite null, e logo que você instancia o objeto (da classe TelefoneSeguradoTO), ele é inicializado, com valor 0. Sugiro que substitua para Integer, e na hora de inserir, verificar se antes do setInt se é null, se for, fazer um setNull.

everfuji…

nuca usei esse setNull, mas como poderia fazer ele !

Não é comum eu usar, mas é mais ou menos assim:

preparedStatement.setNull(1, Types.INTEGER);