Olá Antonio tudo bem com você??
Conforme o erro mostrado, não pode ter a anotação @ManyToMany num objeto do tipo Evento ou está com a anotação errada e deveria ser @ManyToOne ou ainda o objeto errado e deveria ser List. O mesmo se aplica para Função. Segue um trecho tirado da Documentação Técnica sobre Mapeamento:
7.2 Como mapear coleções
Usando anotações, você pode mapear Coleções, Listas, Mapas e Conjuntos de entidades associadas usando @OneToMany e @ManyToMany. Para coleções de um tipo básico ou incorporável, use @ElementCollection. No caso mais simples, um mapeamento de coleção se parece com isso:
Exemplo 7.2 Mapeamento de coleção usando @OneToMany e @JoinColumn
@Entidade
produto de classe pública {
private String serialNumber;
private Set <Part> parts = new HashSet <Part> ();
@Eu iria
public String getSerialNumber () {return serialNumber; }
void setSerialNumber (String sn) {serialNumber = sn; }
@Um para muitos
@JoinColumn (nome = "PART_ID")
conjunto público <Part> getParts () {retorna peças; }
void setParts (Set parts) {this.parts = parts; }
}
@Entidade
classe pública Part {
...
}
O produto descreve um relacionamento unidirecional com a peça usando a coluna de junção PART_ID. Neste cenário unidirecional para muitos, você também pode usar uma tabela de junção, como visto no Exemplo 7.3, “Mapeamento de coleção usando @OneToMany e @JoinTable”.
Espero ter te ajudado no entendimento do erro e qualquer coisa só voltar aqui! Bons estudos!