It is more difficult to manage in play when you extends Model because
the save is explicit and database instruction are flushed directly (it
solves a lot of other problems to manage save/delete explicitly).
So best way is often to override the delete() method.
So here my solution for your 2 uses case:
---
@Entity
public class Face extends Model {
public String name;
@OneToOne(cascade = CascadeType.ALL)
public Nose nose;
}
---
@Entity
public class Nose extends Model {
@Column(nullable = false)
public String title;
public Nose delete() {
Face face = Face.find("nose", this).first();
face.nose = null;
face.save();
return super.delete();
}
}
---
@Test
public void case1() {
Face face = Face.find("byName", "Guillaume").first();
face.nose.delete();
assertEquals(0, Nose.count());
assertEquals(1, Face.count());
}
@Test
public void case2() {
Face face = Face.find("byName", "Guillaume").first();
face.delete();
assertEquals(0, Nose.count());
assertEquals(0, Face.count());
}
> --
> You received this message because you are subscribed to the Google Groups
> "play-framework" group.
> To post to this group, send email to play-fr...@googlegroups.com.
> To unsubscribe from this group, send email to
> play-framewor...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/play-framework?hl=en.
>