Demora na consulta

1 resposta
dudu_sps

Pessoal é o seguinte... comecei a mexer com hibernate faz pouco tempoo
e peço que tenham paciencia... pois sou novato
mas blz.. vamos la

fiz um Cadastro de Cliente
fiz a classe ClienteDAO, a classe Cliente.. que manipula o Objeto e o formulario

e o meu formulário cliente.. vai ter realmente muitos clientes
e eu estou usando mysql por enquanto...

e eu cadastrei pouco mais de dez mil clientes no banco

soh que na hora de carregar o formulario... demora mais de um minutoo.. fica fazendo a busca e somente depois que consultou tudo que vai exibir o formulario

será que tem como alguem me explica como faço pra deixar mais rapidoo

ou alguem me corrigi se minha classe estiver errada

package objetos;


import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

@SuppressWarnings("serial")
@Entity
@Table(name = "CAD_CLIENTE")
@SequenceGenerator(name = "CLIENTE_CODIGO_SEQ", sequenceName = "CLIENTE_CODIGO_SEQ")
public class Cliente implements Serializable{

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "CLIENTE_CODIGO_SEQ")
	@Column(name = "CODIGO", nullable = false)
	private int codigo;
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "COD_CEP")
	private Cep cep;	
	@OneToMany(mappedBy="cliente", fetch = FetchType.LAZY,cascade = { CascadeType.ALL }) 
    @Cascade(org.hibernate.annotations.CascadeType.ALL)  
	@LazyCollection(LazyCollectionOption.FALSE)
	private List <Dependente> dependentes = new ArrayList<Dependente>();
	@Column(name = "RUA", length = 50)
	private String rua;
	@Column(name = "BAIRRO", length = 30)
	private String bairro;
	@Column(name = "RAZAOSOCIAL", length = 50)
	private String razaoSocial;
	@Column(name = "FANTASIA",length = 50)
	private String fantasia;
	@Column(name = "PAGINA",length = 50)
	private String pagina;
	@Column(name = "EMAIL",length = 50)
	private String email;
	@Column(name = "CPFCNPJ", unique = true,length = 18)
	private String cpfCnpj;
	@Column(name = "FAX",length = 40)
	private String fax;
	@Column(name = "TELEFONE",length = 40)
	private String telefone;
	@Column(name = "DATA_CADASTRO")
	private Date data;
	@Column(name = "INSCRICAOESTADUAL",length = 18)
	private String inscricaoEstadual;
	@Column(name = "COMPLEMENTO",length = 50)
	private String complemento;
	@Column(name = "NUMERO",length = 8)
	private String numero;
	@OneToMany(mappedBy="cliente", fetch = FetchType.LAZY)  
    @Cascade(org.hibernate.annotations.CascadeType.ALL)  
    @LazyCollection(LazyCollectionOption.FALSE)
	private List <Contato> contatos = new ArrayList<Contato>();
	@OneToMany(mappedBy="cliente", fetch = FetchType.LAZY)  
    @Cascade(org.hibernate.annotations.CascadeType.ALL)  
    @LazyCollection(LazyCollectionOption.FALSE)
	private List <Veiculo> veiculos = new ArrayList<Veiculo>();
	@Column(name = "PAI",length = 50)
	private String pai;
	@Column(name = "MAE",length = 50)
	private String mae;
	@Column(name = "NATURALIDADE",length = 50)
	private String naturalidade;
	@Column(name = "DATA_NASCIMENTO",length = 50)
	private Date dataNascimento;
	@Column(name = "SEXO",length = 1)
	private String sexo;
	@Column(name = "ESTADO_CIVIL",length = 10)
	private String estadoCivil;
	@Column(name = "NACIONALIDADE",length = 50)
	private String nacionalidade;
	@Column(name = "OBSERVACAO",length = 50)
	private String obs;
	@Column(name = "NOME_FIADOR",length = 50)
	private String nomeFiador;
	@Column(name = "ENDERECO_FIADOR",length = 50)
	private String enderecoFiador;
	@Column(name = "CEP_FIADOR",length = 18)
	private String cepFiador;
	@Column(name = "TEFONE_FIADOR",length = 18)
	private String foneFiador;
	@Column(name = "BENS_FIADOR",length = 50)
	private String bensFiador;
	@Column(name = "PROFISSAO_FIADOR",length = 50)
	private String profissaoFiador;
	@Column(name = "RENDA_FIADOR", length = 50)
	private String rendaFiador;
	@Column(name = "CPF_FIADOR",length = 18)
	private String cpfFiador;
	@Column(name = "RG_FIADOR",length = 18)
	private String rgFiador;
	@Column(name = "REQUESICAO", length = 2)
	private String requisicao;
	@Column(name = "ENDERECO_COBRANCA",length = 80)
	private String enderecoCobranca;@Column(name = "CEP_COBRANCA",length = 18)
	private String cepCobranca;
	@Column(name = "TELEFONE_COBRANCA",length = 18)
	private String telefoneCobranca;
	@Column(name = "DIA_FECHAMENTO_COBRANCA")	
	private int diaFechamentoCobranca;
	@Column(name = "DIA_VENCIMENTO_COBRANCA")
	private int diaVencimentoCobranca;
	@Column(name = "VENDA_CHEQUE", length = 2)
	private String vendaCheque;
	@Column(name = "VENDA_CARTAO", length = 2)
	private String vendaCartao;
	@Column(name = "VENDA_FINANCEIRA", length = 2)
	private String vendaFinaceira;
	@Column(name = "VENDA_DUPLICATA", length = 2)
	private String vendaDuplicata;
	@Column(name = "VENDA_BOLETO", length = 2)
	private String vendaBoleto;
	@Column(name = "VENDA_PROMISSORIA", length = 2)
	private String vendaPromissoria;
	@Column(name = "VENDA_CONTROLE", length = 2)
	private String vendaControle;	
	@Column(name = "VENDA_LIMITE")
	private Double limite;
	@Column(name = "REFERENCIA_TELEFONE_COMERCIAL1", length = 50)
	private String referenciaTelefoneComercial1;
	@Column(name = "REFERENCIA_TELEFONE_COMERCIAL2", length = 50)
	private String referenciaTelefoneComercial2;
	@Column(name = "REFERENCIA_TELEFONE_PESSOAL", length = 50)
	private String referenciaTelefonePessoal;
	@Column(name = "REFERENCIA_GARANTIA", length = 50)
	private String referenciaGarantia;
	@OneToMany(mappedBy="cliente", fetch = FetchType.LAZY)  
    @Cascade(org.hibernate.annotations.CascadeType.ALL)  
    @LazyCollection(LazyCollectionOption.FALSE)
	private List <Imovel> imoveis = new ArrayList<Imovel>();
	@OneToMany(mappedBy="cliente", fetch = FetchType.LAZY)  
    @Cascade(org.hibernate.annotations.CascadeType.ALL)  
    @LazyCollection(LazyCollectionOption.FALSE)
	private List <Equipamento> equipamentos = new ArrayList<Equipamento>();
	@OneToMany(mappedBy="cliente", fetch = FetchType.LAZY)  
    @Cascade(org.hibernate.annotations.CascadeType.ALL)  
    @LazyCollection(LazyCollectionOption.FALSE)
	private List <Animal> animais = new ArrayList<Animal>();
	@Column(name = "TIPO_CLIENTE", length = 10)
	private String tipoCliente;
	@Column(name = "SUB_TIPO_CLIENTE", length = 2)
	private String subTipoClienteFornecedor;
	@Column(name = "SUB_TIPO_FORNECEDOR", length = 2)
	private String subTipoFornecedor;
	@Column(name = "TIPO_FORNECEDOR", length = 2)
	private String tipoFornecedor;
	@Column(name = "TIPO_TRANSPORTE", length = 2)
	private String tipoTransporte;
	@Column(name = "TIPO_FUNCIONARIO", length = 2)
	private String tipoFuncionario;
	@Column(name = "INATIVO", length = 2)
	private String inativo;
	@Column(name = "CANCELADO", length = 2)
	private String cancelado;
	
	geters and seters	
}

e parte do formulario

try {
			carregaLista();
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,"Erro ao tentar carregar clientes !","Aviso",JOptionPane.ERROR_MESSAGE);
		}

private void carregaLista() throws Exception{
		ClienteDAO hibernateDAO = new ClienteDAO();
		listClientes = hibernateDAO.selecionarTodos();
	}

Mas na realidade quando eu fosse carregar meu formulario
gostaria de selecionar da tabela cliente
apenas codigo, razaosocial e fantasia e conforme mudasse o item do jtable mudasse os valores dos campos abaixo....

como faço para selecionar apenas codigo, razaosocial e fantasia da minha tablea?

1 Resposta

dudu_sps

alguem??

Criado 7 de novembro de 2009
Ultima resposta 23 de nov. de 2009
Respostas 1
Participantes 1