Buscar

APOSTILA COM ROTINAS UTEIS EM CRUD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
FUNÇÕES DE SUPORTE QUE SÃO UTEIS - JAVA ......................................................................... 3 
ABRIR FORMULÁRIO EM MODAL ............................................................................................... 3 
OBTER ID DO REGISTRO ATUAL SELECIONADO NO JTABLE ........................................................ 3 
SELECIONAR UMA LINHA NO JTABLE APÓS ATUALIZAR .................................................................. 3 
MENSAGEM DE CONFIRMAÇÃO EM JAVA ................................................................................. 3 
MENSAGEM DE AVISO EM JAVA ................................................................................................ 3 
OBTER DATA DE HOJE EM JAVA ................................................................................................. 3 
REALIZAR FUNÇÃO SUM EM JPA .......................................................................................................... 4 
CÓDIGO SAIR PARA AS TELAS CRUD ..................................................................................................... 4 
CHAMAR FORMULÁRIO CRUD ............................................................................................................ 4 
FORMATAR DATA EM JAVA ................................................................................................................ 4 
CHAMAR FOMULÁRIO CADASTRO E ATUALIZAR A LISTA ............................................................................ 5 
EXECUTA AO PRESSIONAR TECLA ENTER - KEYRELEASED ........................................................... 5 
SELECT COM LIKE – BUSCA RECURSIVA ...................................................................................... 5 
SELECT FILTRA POR CHAVE ESTRANGEIRA JCOMBOBOX ............................................................ 6 
ABRIR TELA LOCALIZAR ARQUIVO .............................................................................................. 6 
RECUPERAR IMAGEM OU FOTO DO BANCO ........................................................................................ 7 
SALVAR ICONE DE JLABEL NO BANCO EM JPA ............................................................................ 7 
FUNÇÕES QUE CONVERTEM IMAGEM ....................................................................................... 7 
FUNÇÃO PARA ENVIAR E-MAIL .................................................................................................. 8 
USAR A FUNÇÃO QUE ENVIA E-MAIL .......................................................................................... 8 
ESTRUTURA DE REPETIÇÃO COM DB E CRUD EXEMPLO DE ARVORE (JTREE) ............................... 9 
RECUPERAR CLIQUE NA ARVORE (JTREE) ............................................................................................. 10 
FUNÇÕES DA ARVORE JTREE – EXPANDIR .................................................................................... 11 
ABRIR FORMULÁRIO CRUD .............................................................................................................. 11 
INSTANCIAR OBJETO DE UMA LISTA EM JPA ......................................................................................... 11 
2 
 
 
LANÇAR O FOCO DO CURSOR PARA UM CAMPO ................................................................................... 11 
WHILE EM UMA LISTA JPA ............................................................................................................... 12 
ABRIR FORMULÁRIO PRINCIPAL MAXIMIZADO ...................................................................................... 12 
ERROS COMUNS JAVA COM JPA ............................................................................................. 14 
ERRO 1: .................................................................................................................................... 14 
CAUSA: ................................................................................................................................ 14 
SOLUÇÃO: ............................................................................................................................ 14 
ERRO 2: .................................................................................................................................... 14 
CAUSA: ................................................................................................................................ 14 
SOLUÇÃO: ............................................................................................................................ 15 
ERRO 3: .................................................................................................................................... 15 
CAUSA: ................................................................................................................................ 15 
SOLUÇÃO: ............................................................................................................................ 15 
ERRO 4: .................................................................................................................................... 15 
CAUSA: ................................................................................................................................ 15 
SOLUÇÃO: ............................................................................................................................ 16 
ERRO 5: .................................................................................................................................... 16 
CAUSA: ................................................................................................................................ 16 
SOLUÇÃO: ............................................................................................................................ 16 
SOLUÇÃO 2: ......................................................................................................................... 16 
ERRO 6: .................................................................................................................................... 17 
SOLUÇÃO: ............................................................................................................................ 17 
ERRO 7: .................................................................................................................................... 17 
CAUSA: ................................................................................................................................ 17 
SOLUÇÃO: ............................................................................................................................ 17 
 
3 
 
 
FUNÇÕES DE SUPORTE QUE SÃO UTEIS - JAVA 
ABRIR FORMULÁRIO EM MODAL 
 
 JDialog frame = new JDialog(); 
 frame.setContentPane(new JFItemContrato()); 
 frame.setTitle("Itens do projeto"); 
 frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
 frame.pack(); 
 frame.setLocationRelativeTo(null); 
 frame.setModal(true); 
 frame.setVisible(true); 
 
 
OBTER ID DO REGISTRO ATUAL SELECIONADO NO JTABLE 
 
int index = masterTable.getSelectedRow(); 
 
 
SELECIONAR UMA LINHA NO JTABLE APÓS ATUALIZAR 
 
int linha = masterTable.getSelectedRow(); 
 
 java.util.Collection data = query.getResultList(); 
 for (Object entity : data) { 
 entityManager.refresh(entity); 
 } 
 list.clear(); 
 list.addAll(data); 
 
masterTable.getSelectionModel().setSelectionInterval(linha, linha); 
 
 
MENSAGEM DE CONFIRMAÇÃO EM JAVA 
 
 int opcao_escolhida = JOptionPane.showConfirmDialog(null,"Deseja realmente EXCLUIR O REGISTRO 
?","Excluir Registro ",JOptionPane.YES_NO_OPTION);if (opcao_escolhida==JOptionPane.NO_OPTION) return; 
 
 
MENSAGEM DE AVISO EM JAVA 
 
 JOptionPane.showMessageDialog(null,"Clique em uma Ata da Grade de Reuniões!", "Aviso!", 
JOptionPane.WARNING_MESSAGE ); 
 return; 
 
 
OBTER DATA DE HOJE EM JAVA 
 
 Calendar calendario = Calendar.getInstance(); 
 projetos1.setDatCriacao(calendario.getTime()); 
 
4 
 
 
 
REALIZAR FUNÇÃO SUM EM JPA 
 
 //Alterar a consulta da query do form, buscando a consulta ProjetoItens.getTotalPontoFuncao 
 query1 = entityManager.createQuery("SELECT SUM(P.quantPontoFuncao) FROM ProjetoItens P WHERE 
P.codProjeto = :codProjeto"); 
 
 //passar como parâmetro para a consulta 
 query1.setParameter("codProjeto", projetos1); 
 
 Long totalPF =(Long) query1.getSingleResult(); 
 totalPFjFormattedTextField.setValue( totalPF ); 
 
 
 
CÓDIGO SAIR PARA AS TELAS CRUD 
 
 Component comp = SwingUtilities.getRoot(this); 
 ((Window) comp).dispose(); 
 
 
CHAMAR FORMULÁRIO CRUD 
 
 try { 
 final JFrame frame = new JFrame("Projetos"); 
 frame.setContentPane(new JFProjetos()); 
 frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
 
 frame.pack(); 
 frame.setLocationRelativeTo(null); 
 frame.setVisible(true); 
 
 } catch (Exception e) { 
 JOptionPane.showMessageDialog(null, "Ocorreu um erro no sistema, se o problema persistir contate o 
administrador:\n" + e, "ATENÇÃO", JOptionPane.WARNING_MESSAGE); 
 } 
 
 
FORMATAR DATA EM JAVA 
 
 //Obter data formatada 
 SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yyyy"); 
 Date dataIni = fmt.parse(datInijFormattedTextField.getText()); 
 
 
 
5 
 
 
CHAMAR FOMULÁRIO CADASTRO E ATUALIZAR A LISTA 
 
 //Chamar JFrame em ShowModal 
 JDialog frame = new JDialog(); 
 frame.setContentPane(new JFRevisoes()); 
 frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
 frame.pack(); 
 frame.setTitle("Revisões"); 
 frame.setModal(true); 
 frame.setLocationRelativeTo(null); 
 frame.setVisible(true); 
 
 java.util.Collection data = revisoesQuery.getResultList(); 
 for (Object entity : data) { 
 entityManager.refresh(entity); 
 } 
 revisoesList.clear(); 
 revisoesList.addAll(data); 
 
 
EXECUTA AO PRESSIONAR TECLA ENTER - KEYRELEASED 
 
 //Se tecla enter pressionada 
 if (evt != null){ 
 if (evt.getKeyCode() == KeyEvent.VK_ENTER) { 
 //Obter quantidade de linha 
 int quantLinha = masterTable.getRowCount(); 
 //Tem resultado ? 
 if (quantLinha > 0) { 
 //Selecionar primeira linha 
 masterTable.getSelectionModel().setSelectionInterval(0, 0); 
 } 
 
 } 
 } 
 
 
SELECT COM LIKE – BUSCA RECURSIVA 
 
 //Montar query com consulta pre-definida na classe Atualizacoes. 
 query = entityManager.createQuery("SELECT a FROM Atualizacoes a WHERE a.titulo like :titulo"); 
 
 
 //Enviar parametro exigido pela consulta pre-definida. 
 query.setParameter("titulo", tituloBuscajTextField.getText().concat("%")); 
 
 //Funcao que atualiza a lista 
 java.util.Collection data = query.getResultList(); 
 for (Object entity : data) { 
 entityManager.refresh(entity); 
 } 
 list.clear(); 
 list.addAll(data); 
 
 
 
6 
 
 
SELECT FILTRA POR CHAVE ESTRANGEIRA JCOMBOBOX 
 
 //Montar query com consulta pre-definida na classe Atualizacoes. 
 query = entityManager.createQuery("SELECT a FROM Atualizacoes a WHERE a.codRevisao = :codRevisao"); 
 
 //Criar objeto da classe Atualizacoes 
 Atualizacoes oAtualizacao = new Atualizacoes(); 
 
 //Definir o campo codRevisao do objeto instancia da classe 
 oAtualizacao.setCodRevisao((Revisoes) revisaojComboBoxBusca.getSelectedItem()); 
 
 //Enviar parametro exigido pela consulta pre-definida. 
 query.setParameter("codRevisao", oAtualizacao.getCodRevisao()); 
 
 //Funcao que atualiza a lista 
 Funcoes.getAtualizarQuery(entityManager, query, list); 
 
 //Obter quantidade de linha 
 int quantLinha = masterTable.getRowCount(); 
 //Tem resultado ? 
 if (quantLinha > 0) { 
 //Selecionar primeira linha 
 masterTable.getSelectionModel().setSelectionInterval(0, 0); 
 } 
 
 
ABRIR TELA LOCALIZAR ARQUIVO 
 
 JFileChooser fileChooser = new JFileChooser(); 
 fileChooser.setDialogTitle("Localizar imagem"); 
 int a = fileChooser.showOpenDialog(null); 
 if (a == 0) { 
 try { 
 String arquivo = fileChooser.getSelectedFile().getAbsolutePath(); 
 File f = new File(arquivo); 
 BufferedImage src = ImageIO.read(f); 
 BufferedImage dest = new BufferedImage(src.getWidth(), src.getHeight(), BufferedImage.TYPE_INT_RGB); 
 Graphics2D g = dest.createGraphics(); 
 AffineTransform at = AffineTransform.getScaleInstance((double) src.getWidth() / src.getWidth(), (double) 
src.getHeight() / src.getHeight()); 
 g.drawRenderedImage(src, at); 
 //dest agora tem 460x367 pixels e com a imagem redimensionada. 
 ImageIcon icon = new javax.swing.ImageIcon(arquivo); 
 icon = new javax.swing.ImageIcon(dest); 
 
 jLabel2.setIcon(new ImageIcon(new ImageIcon(dest).getImage().getScaledInstance(jLabel2.getWidth(), 
jLabel2.getHeight(), Image.SCALE_DEFAULT))); 
 
 //System.out.println("Comprimento da imagem: " + icon.getIconWidth() + "\nAltura da imagem: " + 
icon.getIconHeight()); 
 } catch (IOException ex) { 
 Logger.getLogger(JFCliente.class.getName()).log(Level.SEVERE, null, ex); 
 } 
 
 } else { 
 } 
 
 
 
7 
 
 
RECUPERAR IMAGEM OU FOTO DO BANCO 
 
 if (candidaturas1.getCodCandidato().getFoto() != null) { 
 if (!candidaturas1.getCodCandidato().getFoto().equals(null)) { 
 
jLabel2.setIcon(new ImageIcon(new 
ImageIcon(candidatos1.getFoto()).getImage().getScaledInstance(jLabel2.getWidth(), jLabel2.getHeight(), 
Image.SCALE_DEFAULT))); 
 
 } 
 } else { 
 jLabel2.setIcon(null); 
 } 
 
 
SALVAR ICONE DE JLABEL NO BANCO EM JPA 
 
 Image i; 
 i = iconToImage(jLabel1.getIcon()); 
 clientes1.setFoto(imageToByte(i)); 
 
 
FUNÇÕES QUE CONVERTEM IMAGEM 
 
 static Image iconToImage(Icon icon) { 
 if (icon instanceof ImageIcon) { 
 return ((ImageIcon) icon).getImage(); 
 } else { 
 int w = icon.getIconWidth(); 
 int h = icon.getIconHeight(); 
 GraphicsEnvironment ge = 
 GraphicsEnvironment.getLocalGraphicsEnvironment(); 
 GraphicsDevice gd = ge.getDefaultScreenDevice(); 
 GraphicsConfiguration gc = gd.getDefaultConfiguration(); 
 BufferedImage image = gc.createCompatibleImage(w, h); 
 Graphics2D g = image.createGraphics(); 
 icon.paintIcon(null, g, 0, 0); 
 g.dispose(); 
 return image; 
 } 
 } 
 
 public byte[] imageToByte(Image image) { 
 
 BufferedImage bi = new BufferedImage(image.getWidth(null), image.getHeight(null),BufferedImage.TYPE_INT_RGB); 
 Graphics bg = bi.getGraphics(); 
 bg.drawImage(image, 0, 0, null); 
 bg.dispose(); 
 
 ByteArrayOutputStream buff = new ByteArrayOutputStream(); 
 try { 
 ImageIO.write(bi, "JPG", buff); 
 } catch (IOException e) { 
 e.printStackTrace(); 
 } 
 return buff.toByteArray(); 
 } 
 
 
 
8 
 
 
FUNÇÃO PARA ENVIAR E-MAIL 
 
public static void sendEmail( String remetente,String smtp, String usuarioSmtp, String senhaSmtp,String assunto, 
String para,String CC,String corpo ) throws MessagingException{ 
 /* Função desenvolvida por Douglas Tybel */ 
 java.util.Properties p = new java.util.Properties(); 
 p.put("mail.smtp.auth", "true"); 
 p.put("mail.smtp.starttls.enable", "true"); 
 p.put("mail.smtp.host", smtp); 
 p.put("mail.smtp.port", "587"); 
 
 final String user,pwd; 
 user = usuarioSmtp; 
 pwd = senhaSmtp; 
 
 javax.mail.Authenticator auth = new javax.mail.Authenticator() { 
 
 
 @Override 
 public javax.mail.PasswordAuthentication getPasswordAuthentication() { 
 return new javax.mail.PasswordAuthentication(user, pwd); 
 } 
 }; 
 //Enviar email 
 javax.mail.Session session = javax.mail.Session.getInstance(p, auth); 
 javax.mail.internet.MimeMessage msg = new javax.mail.internet.MimeMessage(session); 
 // "de" e "para" 
 msg.setFrom(new javax.mail.internet.InternetAddress( remetente )); 
 msg.setRecipient(javax.mail.Message.RecipientType.TO, new javax.mail.internet.InternetAddress(para)); 
 if (CC.length() > 0) 
 msg.setRecipient(javax.mail.Message.RecipientType.CC, new javax.mail.internet.InternetAddress( CC )); 
 
 msg.setSentDate(new java.util.Date()); 
 msg.setSubject( assunto ); 
 msg.setText( corpo ); 
 
 //Enviando mensagem (tentando) 
 javax.mail.Transport.send(msg); 
 JOptionPane.showMessageDialog(null, "Email Enviado com sucesso !! "); 
 
 } 
 
 
USAR A FUNÇÃO QUE ENVIA E-MAIL 
 
 try { 
 Funcoes.sendEmail( 
 remetentejTextField.getText() 
 , smtpjTextField.getText() 
 , usuariojTextField.getText() 
 , senhajTextField.getText() 
 , assuntojTextField.getText() 
 , parajTextField.getText() 
 , "" 
 , corpojTextArea.getText() 
 
 ); 
 } catch (MessagingException ex) { 
 Logger.getLogger(JFEnviarEmail.class.getName()).log(Level.SEVERE, null, ex); 
 } 
 
 
 
9 
 
 
ESTRUTURA DE REPETIÇÃO COM DB E CRUD EXEMPLO DE 
ARVORE (JTREE) 
 
 DefaultTreeModel modelTree = null; 
 DefaultMutableTreeNode root = new DefaultMutableTreeNode("TOPICOS"); 
 
 //Lista das reuniãoes (atas) 
 Atas a = (Atas) jComboBox1.getSelectedItem(); 
 topicosQuery = entityManager.createNamedQuery("Topicos.findByCodAta"); 
 topicosQuery.setParameter("codAta", a.getCodAta()); 
 java.util.Collection data = topicosQuery.getResultList(); 
 topicosList.clear(); 
 topicosList.addAll(data); 
 
 //Adicionar cada topico e depois para cada um adicionar os históricos associados 
 for (int u = 0; u < topicosList.size(); u++) { 
 Topicos t = (Topicos) topicosList.get(u); 
 DefaultMutableTreeNode topico = new DefaultMutableTreeNode(t.getTopico()); 
 root.add(topico); 
 
 //Consultar Históricos que estão dentro do topico 
 historicosQuery = entityManager.createNamedQuery("Historicos.findByCodTopico"); 
 
 historicosQuery.setParameter("codTopico", t.getCodTopico()); 
 java.util.Collection dataH = historicosQuery.getResultList(); 
 historicosList.clear(); 
 historicosList.addAll(dataH); 
 
 //Para cada topico, adicione os históricos 
 for (int i = 0; i < historicosList.size(); i++) { 
 Historicos h = (Historicos) historicosList.get(i); 
 DefaultMutableTreeNode historico = new DefaultMutableTreeNode(h.getHistorico()); 
 topico.add(historico); 
 
 } 
 } 
 modelTree = new DefaultTreeModel(root); 
 jTree1.setModel(modelTree); 
 expandAll(jTree1); 
 
 
 
10 
 
 
RECUPERAR CLIQUE NA ARVORE (JTREE) 
 
 DefaultMutableTreeNode no = (DefaultMutableTreeNode) jTree1.getLastSelectedPathComponent(); 
 if (no.getLevel() == 2) { 
 
 //Consultar o histórico 
 historicosQuery = entityManager.createQuery("SELECT h FROM Historicos h WHERE h.historico = :historico"); 
 historicosQuery.setParameter("historico", no.toString() ); 
 
 java.util.Collection dataH = historicosQuery.getResultList(); 
 historicosList.clear(); 
 historicosList.addAll(dataH); 
 //Obter objeto 
 historicos1 = (Historicos) historicosQuery.getSingleResult(); 
 
 //Definir campos 
 jTextArea1.setText( historicos1.getHistorico() ); 
 
 //Id 
 //JOptionPane.showMessageDialog(null, historicos1.getCodHistorico() ); 
 
 }else if ( no.getLevel() == 1 ){ 
 
 //Executar consulta 
 topicosQuery = entityManager.createQuery("SELECT t FROM Topicos t WHERE t.topico = :topico"); 
 topicosQuery.setParameter("topico", no.toString() ); 
 
 //Atualizar a lista 
 java.util.Collection dataA = topicosQuery.getResultList(); 
 topicosList.clear(); 
 topicosList.addAll(dataA); 
 
 //Definir objetos 
 topicos1 = (Topicos) topicosQuery.getSingleResult(); 
 
 
 //Consultar o histórico 
 historicosQuery = entityManager.createQuery("SELECT h FROM Historicos h WHERE h.codTopico = 
:codTopico"); 
 historicosQuery.setParameter("codTopico", topicos1.getCodTopico() ); 
 
 java.util.Collection dataH = historicosQuery.getResultList(); 
 historicosList.clear(); 
 historicosList.addAll(dataH); 
 
 } 
 
 
11 
 
 
FUNÇÕES DA ARVORE JTREE – EXPANDIR 
 
 //função para espandir a arvore 
 public void expandAll(JTree tree) { 
 TreeNode root = (TreeNode) tree.getModel().getRoot(); 
 expandAll(tree, new TreePath(root)); 
 
 } 
 
 private void expandAll(JTree tree, TreePath parent) { 
 
 TreeNode node = (TreeNode) parent.getLastPathComponent(); 
 
 if (node.getChildCount() >= 0) { 
 
 for (Enumeration e = node.children(); e.hasMoreElements();) { 
 
 TreeNode n = (TreeNode) e.nextElement(); 
 
 TreePath path = parent.pathByAddingChild(n); 
 
 expandAll(tree, path); 
 
 } 
 
 } 
 
 tree.expandPath(parent); 
 
 // tree.collapsePath(parent); 
 } 
 
 
ABRIR FORMULÁRIO CRUD 
 
 JFrame frame = new JFrame("Lista de Membros"); 
 frame.setContentPane(new JFAtaMembros()); 
 frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
 frame.pack();frame.setLocationRelativeTo(null); 
 frame.setVisible(true); 
 
 
INSTANCIAR OBJETO DE UMA LISTA EM JPA 
 
candidaturas1 = candidaturasList1.get(0); 
 
 
LANÇAR O FOCO DO CURSOR PARA UM CAMPO 
 
numerojFormattedTextField.grabFocus(); 
 
 
 
12 
 
 
WHILE EM UMA LISTA JPA 
 
 //Filtrar candidaturas por eleição. 
 candidaturasQuery = entityManager.createQuery("SELECT c FROM Candidaturas c WHERE c.codEleicao = 
:codEleicao"); 
 
 //Definir qual a eleição desejada 
 Eleicoes e = new Eleicoes(); 
 e.setCodEleicao(2); 
 
 //Enviar parametro exigido pela consulta pre-definida. 
 candidaturasQuery.setParameter("codEleicao", e ); 
 
 //Funcao que atualiza a lista 
 java.util.Collection data = candidaturasQuery.getResultList(); 
 candidaturasList.clear(); 
 candidaturasList.addAll(data); 
 
 //Definir um ponteiro 
 Iterator itr = candidaturasList.iterator(); 
 
 while (itr.hasNext()) { 
 Candidaturas c = (Candidaturas) itr.next(); 
 
 System.out.println(c.getCodCargo().getCargo()); 
 
 } 
 
 
ABRIR FORMULÁRIO PRINCIPAL MAXIMIZADO 
 
 jFPrincipal formPrincipal = new jFPrincipal(); 
 formPrincipal.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
 formPrincipal.pack(); 
 formPrincipal.setVisible(true); 
 formPrincipal.setExtendedState(JFrame.MAXIMIZED_BOTH); 
 
 
Você precisa adicionar esse comando à função run. Comente a(s) 
linha(s) de código existente e cole o código acima abaixo. Considere alterar 
onde está jFPrincipal pelo nome do seu formulário principal. 
13 
 
 
 
14 
 
 
ERROS COMUNS JAVA COM JPA 
ERRO 1: 
no suitable method found for add 
 
CAUSA: 
Os botões novo, salvar etc, foram copiados de um formulário CRUD JPA 
para outro form 
 
SOLUÇÃO: 
Ir em cada um dos botões acertando de acordo com a classe nova ou 
deletar e refazer 
 
======================================================= 
 
ERRO 2: 
java.lang.ClassCastException: 
com.mysql.jdbc.JDBC4PreparedStatement cannot be cast to 
get.PreparedStatement 
 
CAUSA: 
Foi criado as classes: SQLException,PreparedStatement ao invés de 
importá-las 
Ao clicar no assistente de importação do IDE Netbeans (lampada) foi 
escolhida a opção "criar classe" 
 
15 
 
 
SOLUÇÃO: 
Na pacote do projeto, deve ter classes do tipo SQLException ou 
PrepareStatement, então exclua. 
Os importes serão solicitados novamente, clique em importar. Não clique 
em criar classe SQLException. 
 
======================================================= 
 
ERRO 3: 
java.sql.SQLException: Access denied for user 'root'@'localhost' (using 
password: YES) 
 
CAUSA: 
Usuário ou senha do mysql não estão corretos 
 
SOLUÇÃO: 
Na Unidade de persistência ou classe de conexão corrija o usuário ou 
senha para conectar ao mysql 
 
======================================================= 
ERRO 4: 
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
No suitable driver found for jdbc:mysql 
 
CAUSA: 
Ausência dos drivers mysql nos libs(bibliotecas) do projeto 
16 
 
 
 
SOLUÇÃO: 
Na pasta library ou biblioteca do projeto, adicione o pacote do mysql 
 
======================================================= 
ERRO 5: 
Exception in thread "AWT-EventQueue-0" 
javax.persistence.PersistenceException: No Persistence provider for 
EntityManager named ecomercialPU: 
 
CAUSA: 
Ao realizar @JoinColumn deve-se excluir o @Basic(optional = false) 
Erro acontece com JPA e CRUD, nada mais funciona(jframes) 
 
SOLUÇÃO: 
 
Existe algum: @Basic(optional = false) 
Em alguma classe e, campos com @ManyToOne,@JoinColumn não 
pode ter @Basic. 
 
SOLUÇÃO 2: 
Em ultimo caso: 
1 - Remover da biblioteca a swing application framework 
2 - Adicionar novamente 
3 - Vassourar(compilar e limpar) 
17 
 
 
 
======================================================= 
ERRO 6: 
cvc-complex-type.3.1: Value '2.0' of attribute 'version' of element 
'persistence' is not valid with respect to the corresponding attribute use. 
Attribute 'version' has a fixed value of '1.0' 
 
SOLUÇÃO: 
1 - Remover da biblioteca a Vinculação de Beans 
2 - Recompilar - Vassourar(compilar e limpar) 
3 - Obs(ele vai se auto adicionar, quando vc for até o designer do frame 
e entrar no codigo fonte) 
 
======================================================= 
 
ERRO 7: 
org.jdesktop.beansbinding.Binding.convertReverse float 
 
Bind jformatedTextField no netbeans 
 
CAUSA: 
O value de um campo é preenchido antes mesmo da mascara, por isso 
o erro, já o text não. 
 
SOLUÇÃO: 
Vincule o text não o value. 
18

Outros materiais