Preciso de Ajuda com List<>

Boa tarde pessoal. Estou com um problema que está me tirando o sono! Normalmente desenvolvo meus programa com o Banco de Dados PostgreSQL, mas dessa vez decidi fazer um programa com o Banco de Dados Embarcado, Utilizando o JavaDB (Apache Derby). Estou utilizando a IDE Netbeans 7.1 e a versão do Derby é a 10.x. A aplicação está conectando ao banco de dados e está salvado os registros corretamente. Meu problema está na hora de mostrar esses registros em JTables (Telas de Cadastros e Grids de Consultas). O código que estou utilizando é exatamente igual ao que utilizava no PostgreSQL, sem nenhuma alteração, mas não está funcionando com o JavaDB. Segue abaixo algumas linhas do código que estou julgando serem suficientes para um veredicto dos mais expertes.

// Tela Principal
// Variáveis Globais 

    List<PacientesBean> pacientes;
    DefaultTableModel tmPacientes = new DefaultTableModel(null, new String[]{"Nome", "Telefone", "Celular", "E-mail"}) {

        public boolean isCellEditable(int row, int col) {
            return false;
        }
    };


// No Construtor Após initComponents() -- NetBeans IDE

buscaRegistroPacientes();

// Métodos

    private void buscaRegistroPacientes() {
        PacientesControl pc = new PacientesControl();
        pacientes = pc.listarPacientes("% " + tfBuscaPaciente.getText() + " %");
        mostrarPacientes(pacientes);
    }


    // Mostra o Resultado da Consulta na JTable

    private void mostrarPacientes(List<PacientesBean> pacientes) {
        tbPacientes.getColumnModel().getColumn(0).setPreferredWidth(90); 
        tbPacientes.getColumnModel().getColumn(1).setPreferredWidth(30); 
        tbPacientes.getColumnModel().getColumn(2).setPreferredWidth(30); 
        tbPacientes.getColumnModel().getColumn(3).setPreferredWidth(50); 
        
        while (tmPacientes.getRowCount() > 0) {
            tmPacientes.removeRow(0);
        }

        if (pacientes.size() == 0) {
            //JOptionPane.showMessageDialog(this, "Nenhum Paciente Encontrado!");
        } else {
        }
        String[] campos = new String[]{null, null, null, null};
        for (int i = 0; i < pacientes.size(); i++) {

            tmPacientes.addRow(campos);          
            tmPacientes.setValueAt(pacientes.get(i).getNome(), i, 0);    
            tmPacientes.setValueAt(pacientes.get(i).getTelefone(), i, 1);    
            tmPacientes.setValueAt(pacientes.get(i).getCelular(), i, 2);
            tmPacientes.setValueAt(pacientes.get(i).getEmail(), i, 3);    
        }
    }

// PacientesControl

    PacientesBean pb;   
    PreparedStatement pstm;
    ResultSet rs;
    
    String consultaRegistro = "select * from pacientes where nome like ? order by nome";

    public List<PacientesBean> listarPacientes(String nome) {
        List<PacientesBean> pacientes = new ArrayList();
        ConexaoBD con = new ConexaoBD();
        try {            
            pstm = con.conecta().prepareStatement(consultaRegistro);
            pstm.setString(1, nome);
            rs = pstm.executeQuery();         
            while (rs.next()) {
                pb = new PacientesBean();
                pb.setId(rs.getInt("id"));
                pb.setNome(rs.getString("nome"));
                pb.setData_cadastro(rs.getDate("data_cadastro"));
                pb.setData_nascimento(rs.getDate("data_aniversario"));
                pb.setSexo(rs.getString("sexo"));
                pb.setEndereco(rs.getString("endereco"));
                pb.setBairro(rs.getString("bairro"));
                pb.setCidade(rs.getString("cidade"));
                pb.setTelefone(rs.getString("telefone"));
                pb.setCelular(rs.getString("celular"));
                pb.setEmail(rs.getString("email"));
                pb.setEscolaridade(rs.getString("escolaridade"));
                pb.setProfissao(rs.getString("profissao"));
                pb.setSocial(rs.getString("condicao_social"));
                pacientes.add(pb);                
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Não Existe Registro!");
            e.printStackTrace();
        } finally{
            con.desconecta();
        }
        return pacientes;
    }

// ConexaoBD

public class ConexaoBD {

       final private String driver = "org.apache.derby.jdbc.EmbeddedDriver";
       final private String url = "jdbc:derby:atenfar";
       final private String usuario = "root";
       final private String senha = "root";
       Statement stm;
       ResultSet rs;

       private Connection con;


       public Connection conecta()
       {
            try
            {
                Class.forName(driver);
                con = DriverManager.getConnection(url, usuario, senha);
                //JOptionPane.showMessageDialog(null, "Conectado ao Banco de Dados!");

            }
            catch (ClassNotFoundException Driver)
            {
                JOptionPane.showMessageDialog(null, "Falha na Conexão com o Banco de Dados!");
                Driver.printStackTrace();
                            }
            catch (SQLException Fonte)
            {
                JOptionPane.showMessageDialog(null, "Erro de Conexão!");
                Fonte.printStackTrace();
                            }
            return con;
       }
       public void desconecta()
       {
            boolean result = true;

            try
            {
                con.close();
                //JOptionPane.showMessageDialog(null, "Conexão Fechada!");
            }
            catch (SQLException erroSQL)
            {
                    JOptionPane.showMessageDialog(null, "Não Foi Possíve Fechar o Banco de Dados!");
                    result = false;
             }
            
       }
       public void executeSQL (String sql){
           try{
               stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
               rs = stm.executeQuery(sql);

               
           }catch (Exception ex){
               JOptionPane.showMessageDialog(null, "Erro ao Executar o Comando!");
               ex.printStackTrace();
           }
       }
       
}

Devo aqui salientar que o List pacientes no método mostrarPacientes() está retornando size == 0. O mesmo problema está atingindo todos os outros cadastros do sistema. Nenhuma consulta é mostrada nas JTables, mas os dados estão lá, salvos no banco de dados. Alguém tem alguma sugestão de qual pode ser o erro? Obrigado a todos que puderem aljudar.