[resolvido] Hibernate ManyToMany CascadeType.SAVE_UPDATE

Olá, pessoal estou com um problema aqui estudando o hibernate, meu caso é o seguinte, tenho as classes mapeadas da seguinte forma:

@Entity
public class Questao {
	
	@Id
	@GeneratedValue
	private Long id;
	private String descricao;
	@OneToMany(mappedBy = "questao")
	private List<Pergunta> perguntas = new ArrayList<Pergunta>(); 

	public Questao(String descricao) {
		this.descricao = descricao;
	}
}
@Entity
public class Resposta {

	@Id
	@GeneratedValue
	private Long id;
	private String descricao;
	@ManyToMany(mappedBy = "respostas")
	private List<Pergunta> perguntas = new ArrayList<Pergunta>();
	
	public Resposta(String descricao){
		this.descricao = descricao;
	}
	
	public void addPergunta(Pergunta pergunta){
		this.perguntas.add(pergunta);
	}

}
@Entity
public class Pergunta {
	
	@Id
	@GeneratedValue
	private Long id;
	private Integer pontos;
	@ManyToOne
	@Cascade(CascadeType.SAVE_UPDATE)
	private Questao questao;
	@ManyToMany
	@Cascade(CascadeType.SAVE_UPDATE)
	private List<Resposta> respostas = new ArrayList<Resposta>();
	
	public Pergunta(Integer pontos, Questao questao){
		this.pontos = pontos;
		this.questao = questao;
	}
	
	public void addResposta(Resposta resposta){
		this.respostas.add(resposta);
	}

	public List<Resposta> getRespostas() {
		return respostas;
	}

	public void setRespostas(List<Resposta> respostas) {
		this.respostas = respostas;
	}
	
}

Então executo o seguinte código:

public class Inicio {

	public static void main(String[] args) {
		
		Session session = HibernateUtil.getSession();
		Dao<Pergunta> perguntaDao = new Dao<Pergunta>(session, Pergunta.class);
		
		Pergunta pergunta = new Pergunta(10, new Questao("Cadastrado?"));
		
		pergunta.addResposta(new Resposta("Sim"));
		pergunta.addResposta(new Resposta("Não"));
		System.out.println(pergunta.getRespostas().toString());
		
		perguntaDao.save(pergunta);

	}
}

Os dados são inseridos corretamente em todas tabelas, exceto na Pergunta_Resposta. Alguém tem idéia se faltou algum tipo de configuração?

@Edit
[b]
Só para atualizar e facilitar para os demais.

Solução de MarcioTavares

Ao usar tabelas transacionais, você precisa abrir uma transação antes de usar o DAO e, após usá-lo, dar o commit. [/b]

Você está usando tabelas transacionais? Se estiver, você precisa abrir uma transação antes de usar o DAO e, após usá-lo, dar o commit.

ué…

só não insere na Pergunta_Reposta? Que tabela é essa?

não tem o log das queries geradas não?

Exatamente, o problema é somente com a tabela de relacionamento, e não é gerada a query para inserção nela, somente falta essa query

Estranho… eu testei suas entities aqui e tudo foi incluído no banco normalmente, inclusive os dados na tabela Pergunta_Resposta. A única diferença é que eu abri uma transação antes do save e dei commit depois.

Era isso mesmo, não pensei que era obrigatório o uso de transação nesse caso.

Obrigado!