Gah... sorry about the title. I meant to name it something like
Difficulties with Seam-gen and master-detail relationships.
Nevermind. I believe I have figured it out. I tried doing it in reverse, using generate-model to generate the Entity beans, and I discovered that the line
@OneToMany(mappedBy="fruitFamily") private Set<Fruit> fruits;
was slightly different from the one generated by seam-gen. In particular, the set had a default initialized value rather than being null.
private Set<Fruit> fruits = new HashSet<Fruit>();
This seemed to solve the problem.