ManyToMany da mesma entidade

Olá pessoal, sou novo com o hibernate e me deparei com uma situação um pouco confusa.
Na minha modelagem, tenho uma classe Cliente. Onde um Cliente tem varios clientes autorizados.
E também pode ser autorizado por varios clientes.

Portanto tenho dois Set dentro da minha classe Cliente.

minha duvida é, como mapear isso ?

Tentei o seguinte

[code]@Column(name = “amigos_autorizados”)
@JoinTable(name = “cliente”, joinColumns = {
@JoinColumn(name = “amigos_autorizados”, referencedColumnName = PREFIXO_TABELA + “id”, nullable = false)}, inverseJoinColumns = {
@JoinColumn(name = “autorizado_pelos_amigos”, referencedColumnName = PREFIXO_TABELA + “id”, nullable = false)})
@ManyToMany
public Set getAmigosAutorizados() {
return amigosAutorizados;
}
public void setAmigosAutorizados(Set clientesAutorizados) {
this.amigosAutorizados = clientesAutorizados;
}

@Column(name = "autorizado_pelos_amigos")
@ManyToMany(mappedBy = "amigos_autorizados")
public Set<Cliente> getAutorizadoDeAmigos() {
	return autorizadoDeAmigos;
}
public void setAutorizadoDeAmigos(Set<Cliente> autorizadoDeClientes) {
	this.autorizadoDeAmigos = autorizadoDeClientes;
}[/code]

tentei o codigo a cima pois achei em um tutorial na internet, mas sem sucesso =/

alguém sabe como mapear isso ?