Самый простой способ - просто сопоставить внешний ключ и получить доступ к идентификатору в экземпляре B:
A a = em.find(A.class, 1L);
Long bid = a.getB().getBid();
Это не должно вызывать проблем с производительностью, но для особых случаев, когда это происходит, есть конкретные доступные решения.
Возможны и другие подходы, но в итоге у вас будет один фрагмент данных, закодированный в двух местах, и их синхронизация станет постоянным источником проблем и тонких ошибок.