Olá,
Após bater muito a cabeça com JPA e Hibernate eu aprendi que relacionamento bidirecional no geral atrapalha mais do que ajuda. A verdade é que deveríamos evitar rel. bidirecional (o tal do mappedBy) sempre que possível. Ele só deveria ser utilizado em último caso, quando realmente não tiver para onde correr...
Com bidirecional somos obrigados a escrever um código mais complicado para manter a consistência entre as entidades, o que nem sempre é fácil. Para entender do que estou falando dá uma lida no novo post do blog:
Se você ainda insistir em usá-lo eu te dou algumas dicas de orientação a objetos (ENCAPSULAMENTO, tan dãn!!) para manter a consistência do relacionamento. Dessa forma você diminui as chances de ter dor de cabeça.
E aí, o que achou do post?
Um abraço!