Problema com Sring + Hibernate : detached entity ! Help rapazes experts!?

Oie a todos.
Estou tentando achar uma solução e não consegui ainda vejam. A idéia é recuperar uma lista de perfis(roles) e adicionar dentro de um usuário, as roles estão salvas, e ai salvar o usuário e numa tabela intermediária de N pra N com os respectivos códigos…
estou fazendo testes unitários na parte de negócios, ainda não estou executando em servidor web, não existe view ainda, meu método:

private Funcionario saveNewUser() { // obtenho um usuário pra teste Funcionario user = getUser(); // obtenho lista de regras List<Authority> role = repository.listAllAuthorities(); /*for(int x = 0; x < role.size(); x++){ role.set(x, repository.save(role.get(x))); }*/ // seto no usuário as regras user.setRole(role); repository.save(user); assertNotNull(user); return user; }
eu consigo salvar normalmente um usuário SEM uma(s) Authority, mas quando tento salvar COM uma Authority acontece:

javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: br.com.siac.domain.Authority
    at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630)

já vi que esse problema é quando a entidade não está mais gerenciada pelo hibernate, minhas transações estão a cargo do spring, então eu debuguei(se escreve assim!? :roll:) e vi que quando obtenho a lista aqui:

List<Authority> role = repository.listAllAuthorities();

minha EntityManager tem um id, e na hora de repository.save(user); tem outro id, ou seja, transações diferentes, mas se isto está a cargo do spring como faço isso usando a mesma transação?

vejam a parte comentada, tentei fazer um merge em cada objeto da lista, mas como é em outra transação, não adiantou…

meu DAO tem essa parte principal:

@Transactional
public class GenericDAO<PersistenceObject, IDType extends Serializable> implements DAO<PersistenceObject, IDType> {

@PersistenceContext
    protected EntityManager em;
          ...

obrigada, Carol.