JPA - testando um mapeamento Many-To-Many

Eu fiz um mapeamento do many-to-many entre usuario e grupo
tem uma tabela que relaciona usuario com grupos

Como eu realizo um caso de teste:

Usuario usr = new Usuario();
usr.setLogin("dan");
usr.setSenha("123");

Grupo gr1 = new Grupo();
gr1.setNome("admin");
		
Grupo gr2 = new Grupo();
gr2.setNome("gestor");
		
usr.getGrupos().add(gr1);
usr.getGrupos().add(gr2);
		
usuarioDao.save(usr); //ocorre uma chamada getJpaTemplate().persist ...

So que nao funciona. Como fazer um caso de teste?
Antes eu usava dirty read e agora?

O many-to-many é bidirecional? Como está o mapeamento de ambas as classes?

Olá!

Estou com o mesmo caso, um usuário tem grupos e eu preciso atualizar o objeto Usuário, e caso tenha adcionado grupos ele deve persistir em uma tabela associativa.

Fiz o mapeamento bidirecional com JPA.

Eu fiz algo pareido, mas ainda não testei todos cenários:

[code]public class Pessoa implements Serializable {

public Pessoa() {
}

private static final long serialVersionUID = -7200710621590602711L;

private Set<Carona> caronas = new HashSet<Carona>();

/**
 * Getter of the property <tt>carona</tt>
 *
 * @return Returns the carona.
 *
 */
@ManyToMany(cascade={CascadeType.ALL}, fetch=FetchType.EAGER)
@JoinTable(name="Pessoa_Carona", joinColumns={@JoinColumn(name="idPessoa")}, inverseJoinColumns={@JoinColumn(name="idCarona")})
public Set<Carona> getCaronas()	{
	return caronas;
}

}[/code]

[code]@Entity
public class Carona implements Serializable {

    private Set<Pessoa> passageiros = new HashSet<Pessoa>();

@ManyToMany(mappedBy="caronas", fetch=FetchType.EAGER)
public Set<Pessoa> getPassageiros() {
	return passageiros;
}

}
[/code]

Depois eu adiciona uma pessoa aos passageiros e a carona ao passageiro, depois dou um merge na pessoa;

Acredito que da maneira que felipeguerra esta fazendo esta correto.
Pois devemos persistir a entidade que possui a chave estrgandeira.
Mesmo sendo ManyToMany.
vlw

Mas não funcionou.

Tem um caso muito semelhante ao do felipeguerra . A única diferença é que minha chave-primária é um varchar.

Minha arquitetura está utilizando Spring + JPA/Hibernate como vendor.

Alguém por favor poderia me ajudar?

Qual é exatamente o problema?