Самый короткий ответ, кажется, вы не можете, и это имеет смысл. В двунаправленной ассоциации «многие ко многим» одна сторона должна быть главной и использоваться для сохранения изменений в базовой таблице соединений. Поскольку JPA не будет поддерживать обе стороны ассоциации, вы можете столкнуться с ситуацией с памятью, которую невозможно перезагрузить после сохранения в базе данных.
Пример:
A a1 = new A();
A a2 = new A();
B b = new B();
a1.getB().add(b);
b.getA().add(a2);
Если бы это состояние можно было сохранить, вы бы получили следующие записи в таблице соединений:
a1_id, b_id
a2_id, b_id
Но как после загрузки JPA узнает, что вы намеревались сообщить b только о a2, а не a1? а как насчет а2, который не должен знать о б?
Вот почему вы должны поддерживать двунаправленную ассоциацию самостоятельно (и сделать приведенный выше пример невозможным даже в памяти), и JPA будет сохраняться только в зависимости от состояния одной его стороны.