Scenario X:
Table:Spitter (One) ,Table: Spittles (Many) (Spittles is Owner of the relationship with a FK:spitter_id)
This scenario results in saving : The Spitter and both Spittles as if owned by Same Spitter.
Spitter spitter=new Spitter(); Spittle spittle3=new Spittle(); spitter.setUsername("George"); spitter.setPassword("test1234"); spittle3.setSpittle("I love java 2"); spittle3.setSpitter(spitter); dao.addSpittle(spittle3); // <--persist Spittle spittle=new Spittle(); spittle.setSpittle("I love java"); spittle.setSpitter(spitter); dao.saveSpittle(spittle); //<-- merge!!Scenario Y:
This will save the Spitter, will save the 2 Spittles But they will not reference the same Spitter!
Spitter spitter=new Spitter(); Spittle spittle3=new Spittle(); spitter.setUsername("George"); spitter.setPassword("test1234"); spittle3.setSpittle("I love java 2"); spittle3.setSpitter(spitter); dao.save(spittle3); // <--merge!! Spittle spittle=new Spittle(); spittle.setSpittle("I love java"); spittle.setSpitter(spitter); dao.saveSpittle(spittle); //<-- merge!!