Mapeamento JPA Many to Many com atributos sobressalentes

Galera estou apanhando para um mapeamento aqui…

Tenho o seguinte cenário:

Uma Classe referente ao Perfil de Usuários (Profile)
Uma Enum referente a uma Funcionalidade qualquer do sistema (Functionality)
Uma Enum referente a permição que o usuário usuflui sobre a funcionalidade (Permission)

O problema é relacionar essa estrutura…

Um perfil para uma determinada funcionalidade possui uma determinada permição…

Alguem poderia me ajuda??

Segue abaixo as classes e enun’s citadas:

@Entity
@Table(name = "profile")
public class Profile implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue
	@Column(name = "id")
	private Integer id;

	@Column(name = "name")
	private String name;

	@Column(name = "description")
	private String description;

	@Column(name = "active")
	private boolean active;
}

public enum Functionality {
	USER_CONTROL("Controle de usuários", Screen.USER_LIST, Screen.USER_PERSIST, Screen.PROFILE_LIST, Screen.PROFILE_PERSIST);

	private String name;
	private Screen[] screens;
}

public enum Permission {
	READ("Leitura"), WRITE("Escrita");

	private String value;
}


// classe representativa advinda das tentativas falhas de mapeamento HAEHAE
public class ProfilePermission implements Serializable {
	private static final long serialVersionUID = 1L;

	private Profile profile;
	private Functionality functionality;
	private Permission permission;
}

Desde já agradeço…

:slight_smile: