Inserir no banco de dados um Double de um JTextField JAVADB

Olá, Estou com um problema ao inserir dados double no banco de dados, quando coloco tudo String vai numa boa, uso java, e o banco de dados é JAVADB(Derby), seguem abaixo meus códigos.

SEGUE ABAIXO O CÓDIGO QUE ESTÁ NO MEU BOTÃO DE SALVAR DO JFRAME

          if(!jFCnpj.getText().equals("") && !jTRazaoSocial.getText().equals("") ){
        ModeloEmpresas empresa = new ModeloEmpresas(); 

        try{//captura erros
            empresa.setCnpj(Double.parseDouble(jFCnpj.getText()));
            empresa.setTelefone(Integer.valueOf(jTTelefone.getText()));
            empresa.setInscricaoestadual(Integer.valueOf(jTInscricaoEstadual.getText()));
            
            conecta.salvar();
            
                            
            conecta.manager.getTransaction().begin();//começa a conexão do banco de dados JavaDB(Derby) pela persistência JPA
            conecta.manager.persist(empresa);//cadastra no banco de dados as variáveis da classe Usuario
            conecta.manager.getTransaction().commit();//termina a conexão do banco de dados JavaDB(Derby) pela persistência JPA

            //exibe uma mensagem para o usuário ao cadastra o Usuário no banco de dados
            JOptionPane.showMessageDialog(null, "Empresa Cadastrado com Sucesso!");

        }catch(HeadlessException e){//capta uma exceção de erro se ocorrer um erro ao salvar os dados no banco de dados

            //exibe uma mensagem de erro para o usuário se ocorrer um erro ao cadastrar os dados no banco de dados
            JOptionPane.showMessageDialog(null, "erro ao alterar dados "+e);
        }//fim do try catch

        //chama o método de limpar os dados dos JTextField
        limpar();

        //chama o método para carregar os dados do banco de dados na tabela jTable1
        preencherTabela("select * from EMPRESA order by CNPJ");
        
    }else{
        //mostra a mensagem abaixo para que o usuário preencha os dados corretamente
        JOptionPane.showMessageDialog(null, "Favor preencher o cadastro completo!!");
    }//fim do if else

}                                        

SEGUE ABAIXO MINHA CLASSE ModeloEmpresas AONDE FAÇO A INICIAÇÃO DAS VARIÁVEIS
package Modelo;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="ROOT.EMPRESA")
public class ModeloEmpresas implements Serializable {

@Id
@Column(name = "CNPJ", nullable = false)
private double cnpj;

@Column(name = "TELEFONE", nullable = false)
private int telefone;

@Column(name = "INSCRICAOESTADUAL", nullable = false)
private int inscricaoestadual;

public double getCnpj() {
    return cnpj;
}

public void setCnpj(double cnpj) {
    this.cnpj = cnpj;
}

public int getTelefone() {
    return telefone;
}

public void setTelefone(int telefone) {
    this.telefone = telefone;
}

public int getInscricaoestadual() {
    return inscricaoestadual;
}

public void setInscricaoestadual(int inscricaoestadual) {
    this.inscricaoestadual = inscricaoestadual;
}



public ModeloEmpresas(){}

}

SEGUE ABAIXO O ERRO

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: multiple points
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1914)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at Visao.Cadastro_Empresa.jBSalvarActionPerformed(Cadastro_Empresa.java:289)
at Visao.Cadastro_Empresa.access$200(Cadastro_Empresa.java:22)
at Visao.Cadastro_Empresa$3.actionPerformed(Cadastro_Empresa.java:120)

Ola, e qual o valor que vc está digitando EXATAMENTE pra salvar?

no JTextField? qualquer número, tentei agora 12839036000142, o CNPJ está com uma mascara assim ##.###.###/####-##, mas no campo telefone esta sem mascara e ainda assim da erro.

É que seu problema não está exatamente no banco, está dando erro na hora de converter pra Double.
empresa.setCnpj(Double.parseDouble(jFCnpj.getText()));
Quando vc faz isso, não pode deixar a String vazia, nem nula e deve ser um número válido, n ocaso com 1 ponto apenas (vírgula não).

Ai que está, vc tenta converter um CNPJ formatado pra double, isso não é um double, não pode.
Não pratico e não recomendo armazenar cnpj, cpf, telefone, nem número de casa como Numerico no banco.
Só uso numérico quando é um valor que será usado para cálculos.

Legal Rodrigo, como não tenho muita experiência achei que era justamente o contrário, se caso eu precisasse fazer uma validação desde CNPJ, não causaria problemas futuros?

Não

Só pra constar, se tentar converter um telefone válido com ddd para Integer, vai bugar, o valor é muito longo para um int, teria que ao menos usar Long

Ok muito bem colocado, mais se não tiver problemas em utilizar String nesses campos, a programação fica até mais fácil.