Tiene dos columnas asignadas con el mismo nombre
@JoinColumn(name = "fid_module", referencedColumnName = "id_activity")
@JoinColumn(name = "fid_module", referencedColumnName = "id_event")
¡Cambia uno de los atributos del nombre!
Mirando en su excepción, puede leer:
Repeated column in mapping for entity