PlayFramework (JPA, Hibernate). Two entities software<-m:n->tag, software is owner of the relation. And I don't use any cascading. I want to delete a tag which has some softwares in it.
Taking into consideration that software is owner side, I write in my Tag class:
class Tag { @Override public Tag delete() { for (Software software : this.softwares) { software.tags.remove(this); software.save(); // if we delete this, we will have an error - a foreign key constraint fails } return super.delete(); } } It works well now, after I've added line software.save(). The question is: why i should do it?
I have another project - without Play Framework - which uses JPA->Hibernate and there I don't have to do it. So what's the difference?
In this link they do not use save() as well.