So you need:
- bi-directional relationship
- both sides with save cascade (cascade.PERSIST or cascade.ALL)
- using "vanilla" beans (not enhanced)
Save could go into infinite loop.
The issue being that for non-enhanced beans ("vanilla") you can't tell when it has been saved (due to insert/update testing) ... so it would cascade between the 2 relationships.
Fixed in HEAD.