alcune considerazioni:
1. hai una sola connessione al db o un pool di connessioni?
2. la chiave non puoi trasformarla in qualche campo più performante (tipo intero o long)?
3. il collo di bottiglia reale quale è? mi spiego. Impieghi più tempo a far la query al db (e a far lavorare il db) oppure a cercare il dato nella tua mappa?
4. frequenza di accessi in scrittura?
5. frequenza di accessi in lettura?
diciamo che la scelta è una mediazione in base a queste prime considerazioni. Ad occhio e croce, io sarei propensa per lo statement, in linea teorica dovrebbe garantire prestazioni migliori.