@Override
    public ArrayList<TCliente> listarClientes() throws Exception {
        Statement query = null;
        Connection connection = null;
        TCliente temp = new TCliente();
        ArrayList<TCliente> ret = new ArrayList<TCliente>();        
        //baja lógica de cliente (solo en la tabla de los genéricos)
        String contenido_query = "SELECT * FROM Clientes";                
                
        try
        {
            connection = (Connection) TransactionManager.obtenerInstanacia().getTransaccion().getResource();
            query = connection.createStatement();
        }
        catch (SQLException e)
        {
            throw new SQLException("No se ha podido realizar la conexión con la base de datos. \nEs posible que haya olvidado crear o iniciar la transacción"
                    + "\nError: " + e.getMessage());
        }
         try
        {
            System.out.println(contenido_query);
            query.execute(contenido_query);
            ResultSet rs = query.getResultSet();
            while (rs.next())
            {
                if (rs.getString("Disponible").equalsIgnoreCase("1"))
                {
                    temp =new TCliente();
                    Integer id = Integer.parseInt(rs.getString("id_cliente"));
                    temp.setId(id);
                    temp.setDNI(rs.getString("DNI"));
                    temp.setNombre(rs.getString("Nombre"));
                    temp.setApellidos(rs.getString("Apellidos"));
                    temp.setFechaNacimiento(rs.getString("Fecha_nacimiento"));
                    ret.add(temp);
                    
                }
            }
        }
        catch (SQLException e)
        {
            throw new SQLException("No se ha podido mostrar la lista de clientes. \nError: " + e.getMessage());
        }
        return ret;
    }