Search code examples
springhibernatejpaeclipselinkopenjpa

JPA: Remove Child Entities


I have an entity(ex: Document) that is used as child in 4 other entities(using @OneToMany with @JoinTable in parents). I am not using Bidirectional Mapping. My requirement is to remove the Child(i.e Document), and I have two ways to do that, one way is, get the 4 parents, remove child from them and update them. Second, using native query(using jdbcTemplate) to remove entry from 4 join tables and remove the child.

Is there any other way it can be done in much simpler manner?


Solution

  • Create an abstract base class containing the Document as member and user JPA inhertiance --> http://en.wikibooks.org/wiki/Java_Persistence/Inheritance Than it should be possible to get all users of a document with just one query. Than it should be relatively easy to remove all references.

    Don't do magic behind automatic deletion stuff. Thats for the cost of documentation.