И разбира се, с часове се занимавам с проблема, публикувам го тук и минута по-късно...
Както и да е, отговорът е елементът mappedBy от анотацията @OneToMany:
@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="member")
@MapKey(name = "name")
private Map<String, Preferences> preferences
= new HashMap<String, Preferences>();
Което има известен смисъл:кое поле в Многото образувание сочи обратно към Единното същество? Дори да се допусне, че търсенето на съответстващо поле @ManyToOne беше твърде податливо на грешки, мисля, че това, което направиха (ако приемем наличието на таблица за съпоставяне), прави още по-лошо.