I see. Hm. Well. For this relationship, being "bidirectional" seems to be equivalent to "being 1:1". Confusing.
In particular, I'd expect a2 not pointing to b2 anymore, as this clearly is supposed to be is a 1:1 relationship. The implementation can determine this being a 1:1 association, as there are two corresponding fields, and consequently it should issue
Bu default, there is no 1:1 relationships either in Java or in RDBMS.
If you want to insure this 1:1 bi-directional link you have to:
- use some triggers in your db
- use a JDO callback
- do it cleanly in your set /getters in Java
- use an ORM tool that can manage 1:1 bi-directional links