Nemyslím si, že toho dosáhnete mapováním ManyToOne přidružení k User obecně v UserActivity entita. To je pravděpodobně pro poskytovatele JPA (Hibernate) příliš matoucí.
Místo toho si myslím, že musíte namapovat přidružení na User v každém Question , Answer a Comment entity. Ano, vím, že by se jednalo o duplicitní kód, ale zdá se, že jediný způsob, jak pak budete moci kvalifikovat OneToMany mapování v User pomocí mappedBy odkaz.
Například vaše Question entita by měla přidružení definované jako:
@ManyToOne(cascade = { MERGE, PERSIST }, fetch = LAZY)
@JoinColumn(name = "ua_user_id")
private User questionUser;
V závislosti na tom, jak chytře (či ne) Hibernate je ohledně výše uvedeného přidružení, možná budete muset zadat table="USER_ACTIVITY" v JoinColumn anotace.
Poté User by měl OneToMany jako:
@OneToMany(mappedBy="questionUser", cascade = REMOVE)
private List<Question> questions = new ArrayList<>();
Podobně pro každou z Answer a Comment .
Samozřejmě jsem to nezkoušel, takže se mohu mýlit.