\documentclass{article}
\usepackage{longtable}
\usepackage{hyperref}

\makeatletter
\@gobble{%
% Patch of \LT@array:
% replace \refstepcounter by the original \H@refstepcounter
% without anchor generation
\begingroup
  \long\def\x\refstepcounter#1#2\@sharp#3#4\@nil{%
    \endgroup
    \def\LT@array[##1]##2{%
      \H@refstepcounter{#1}%
      \hyper@makecurrent{table}%
      #2\@sharp#####4%
    }%
  }%
\expandafter\x\LT@array[#1]{#2}\@nil

% Patch of \LT@start:
% add anchor before first line after \vskip\LTpre
\begingroup
  \def\x#1\ifvoid\LT@firsthead\copy#2\@nil{%
    \endgroup
    \def\LT@start{%
      #1%
      \hyper@refstepcounter{table}%
      \ifvoid\LT@firsthead\copy
      #2%
    }%
  }%
\expandafter\x\LT@start\@nil
\makeatother
}

\setlength{\textheight}{6mm}

\begin{document}
\listoftables
\begin{longtable}{ll}
First line\label{tab:first}\\
\caption{Hello World}\label{first}\\
foo&bar
\end{longtable}

\newpage
See first table \ref{tab:first} or \ref{first}.
\begin{table}
\caption{foo}
\end{table}
\end{document}


