Acessar entidade com @ManyToMany vinda do banco

Olá a todos!

Estou com um problema que eu acredito ser até relativamente simples de se resovler. Mas ja tentei de tudo e não consigo mesmo assim. Tenho uma entidade chamada Regras, e dentre os atributos, um deles é uma Lista de objetos (outra entidade) com relacionamento Many to Many:
Vejam o trecho da entidade:

@Entity
@Table(name="regra")
public class Regra {

	private String nome = new String();	
	private Boolean timeout;

        @OneToOne(fetch = FetchType.EAGER, optional = true)
	@JoinColumn(referencedColumnName = "id", name = "caminho", nullable = true)
	private Caminho caminho;

	@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
	private List<CanalVendas> canalVendas;

Uso o hibernate criteria pra salvar novas “regras” no banco sem nenhum problema. Apenas seto uma lista de CanaisVenda no atributo e pronto. O hibernate até cria automaticamente uma tabela no banco pra fazer o relacionamento entre as duas. Tal tabela possui apenas regras_id e canalVendas_id.

O grande problema acontece na hora de buscar isso no banco. Por exemplo, ao buscar no banco determinada regra que está relacionada 2 canais de venda, eu consigo trazer o objeto sem problema, se eu pedir um “size” do getCanaisVenda()…ele diz que o tamanho é 2. Contudo, não consigo acessar de jeito nenhum as informações dos Canais de Venda em questão.

Com o atributo Caminho (que é OneToOne), eu simplesmente coloco regra.getCaminho().getNome() e pronto, agora não importa o que eu faça com o atributo canalVendas, não consigo de jeito nenhum acessar os valores dos dois Canais de Venda relacionados a tal regra.

Alguém pode me ajudar ??