I have a really simple setup to try out a bidirectional mapping with annotations:
@Entity public class TypeA extends AbstractModel { @Id
The owning side is TypeB, so you need to call setA(), since the association is only managed by the owning side.
TypeB
setA()