I think you should avoid re-writing the user entity, and instead keep a reference to it in the role entity via a `ManyToMany` (only)

This will make the entire setup much simpler and still allow you to query for roles.