Olá! Caso alguém precise utilizei o seguinte código para realizar um saque:
public void realizarSaque(Integer numeroDaConta, BigDecimal valor) {
var conta = buscarContaPorNumero(numeroDaConta);
if (valor.compareTo(BigDecimal.ZERO) <= 0) {
throw new RegraDeNegocioException("Valor do saque deve ser superior a zero!");
}
if (valor.compareTo(conta.getSaldo()) > 0) {
throw new RegraDeNegocioException("Saldo insuficiente!");
}
Connection conn = connection.recuperarConexao();
BigDecimal novoValor = conta.getSaldo().subtract(valor);
new ContaDAO(conn).alterar(conta.getNumero(), novoValor);
}