JPA 2.0 muitos-para-muitos com coluna extra

Estou tentando fazer um relacionamento ManyToMany no JPA 2.0 (JBoss 7.1.1) com uma coluna extra (em negrito, abaixo) no relacionamento, como:

Employer           EmployerDeliveryAgent             DeliveryAgent
(id,...)   (employer_id, deliveryAgent_id, **ref**)  (id,...)

Eu não gostaria de ter atributos duplicados, então gostaria de aplicar a segunda solução apresentada emhttp://giannigar.wordpress.com/2009/09/04/mapping-a-many-to-many-join-table-with-extra-column-using-jpa/ . Mas não consigo fazer funcionar, recebo vários erros como:

A classe de ID incorporado não deve conter mapeamentos de relacionamento (de fato, a especificação o diz);No atributo 'employeeDeliveryAgent', o valor "mapeado por" 'pk.deliveryAgent' não pode ser resolvido para um atributo na entidade de destino;No atributo 'employeeDeliveryAgent', o valor "mapeado por" 'pk.employer' não pode ser resolvido para um atributo na entidade de destino;O tipo persistente de atributo de substituição "pk.deliveryAgent" não pode ser resolvido;O tipo persistente de atributo de substituição "pk.employer" não pode ser resolvido;

Muitas pessoas nesse link disseram que funcionou bem, então suponho que algo esteja diferente no meu ambiente, talvez a versão JPA ou Hibernate. Então, minha pergunta é: como faço para alcançar esse cenário com o JPA 2.0 (Jboss 7.1.1 / usando o Hibernate como implementação do JPA)? E para complementar essa pergunta: devo evitar o uso de chaves compostas e, em vez disso, usar o ID gerado simples e uma restrição exclusiva?

Desde já, obrigado.

Obs .: não copiei meu código fonte aqui porque é essencialmente uma cópia do código no link acima, apenas com diferentes nomes de classes e atributos, portanto acho que não é necessário.

questionAnswers(3)

yourAnswerToTheQuestion