Setando valor NULL no oracle para campo long

Boa tarde.
Estou tentando setar NULL para um campo no oracle, porém quando seto, ele fica com o valor 0.
Quando eu faço o update manual, funciona.

O Código que estou usando está abaixo:

statement.setString(1, localEstoqueVO.getSituacao());
if (localEstoqueVO.getCdEmpres() != 0) {
	statement.setLong(2, localEstoqueVO.getCdEmpres());
} else {
	statement.setLong(2, Types.NULL);
}

Alguem saberia como deve ser o procedimento correto para setar NULL para um campo numérico?

Obrigado!

Não funciona simples assim ?

statement.setLong(2, null);

O correto é usar “setNull”:

statement.setString(1, localEstoqueVO.getSituacao());
if (localEstoqueVO.getCdEmpres() != 0) {
	statement.setLong(2, localEstoqueVO.getCdEmpres());
} else {
	statement.setLong(2, Types.BIGINT);
}

Desculpe, o correto é:

statement.setString(1, localEstoqueVO.getSituacao()); if (localEstoqueVO.getCdEmpres() != 0) { statement.setLong(2, localEstoqueVO.getCdEmpres()); } else { statement.setNull(2, Types.BIGINT); }