Mapeamento de relacionamentos n-n no hibernate

Pessoal, alguem sabe fazer isso no hibernate?

Eu tenho uma tabela cliente, que é relacionada a ela mesmo da forma many-to-many, porem nesse mapeamento, eu tenho uma terceira tabela que é o tipo de relacionamento entre os clientes. Tipo um many-to-many com mais um many hehe, eu sei fazer apenas os many-to-many com Set e tal

Exemplo

cliente 1 é ‘fornecedor’ do cliente 2
cliente 1 é ‘cliente’ do cliente 3
cliente 2 é ‘cliente’ do cliente 1
cliente 3 é fornecedor do cliente 1
etc

ou seja, a tabela relacionada tera codigo do cliente base, codigo do cliente relacionado e tipo do relacionamento (que é outra tabela), eu não tenho que criar um pojo para essa tabela relaciona, e esse pojo ter uma chave composta né? tomara que não. Eu não queria criar pojos com chave composta pq todo meu sistema esta preparado para lidar com uma chave primaria simples (id).

alguem sabe como se mapeia isso? com xdoclet ou mesmo direto nos hbm.xml?

valeu! =)

Eu achei essa tag do xdoclet

@hibernate.index-many-to-many (0…1)
Declares many-to-many collection index. Will be used as map key for ternary associations.

Applies to: Hibernate
column: The name of the mapped database table column
class: Entity to be used as key in the ternary association maps
foreign-key: The name of the foreign key constraint to associate with this association.

Eu acho que é isso, mas o que ele quer dizer com Entity to be used as key in the ternary assossiation maps? eu tem que criar um pojo com os 3 codigos e esse pojo sera essa class?!