Не мисля, че можете да постигнете това чрез картографиране на ManyToOne свързване с User обикновено в UserActivity субект. Това вероятно е твърде объркващо за доставчика на JPA (Hibernate).
Вместо това, мисля, че трябва да съпоставите асоциацията с User вской на Question , Answer и Comment субекти. Да, знам, че това ще бъде дублиран код, но изглежда, че единственият начин тогава ще можете да квалифицирате OneToMany съпоставяния в User с помощта на mappedBy справка.
Например вашият Question обект ще има асоциация, дефинирана като:
@ManyToOne(cascade = { MERGE, PERSIST }, fetch = LAZY)
@JoinColumn(name = "ua_user_id")
private User questionUser;
В зависимост от това колко умен (или не) е Hibernate относно горната асоциация, може да се наложи да посочите table="USER_ACTIVITY" в JoinColumn анотация.
След това User ще има OneToMany като:
@OneToMany(mappedBy="questionUser", cascade = REMOVE)
private List<Question> questions = new ArrayList<>();
По същия начин за всеки от Answer и Comment .
Разбира се, не съм пробвал това, така че може да греша.