Saya memiliki masalah yang sama. Sepertinya mengakses peta dengan ref (tanpa VALUE()) sudah memberi Anda nilai entri peta, yaitu JPQL berikutnya harus diubah menjadi SQL yang valid:
select r from Relation r join r.langMap m where ( KEY(m) = :locale and m = :value )