You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One to One relationship without any ownership: Setting one side in constructor results in reverse automatically set. I could reluctantly live with this if it is the officially supported behaviour, but would need to be explicitly documented so not not burn unsuspecting user, or disappear in a future release.
and BrotherController action, setting favouriteSister in the constructor:
@Transactional
def setFavouriteSister(){
Sister sister = Sister.get(params.id)
log.info("Sister before:" + sister)
def brother = new Brother(favouriteSister: sister);
brother.name = "Harry";
log.info("Brother: " + brother)
log.info("Sister after:" + sister)
brother.save(flush:true, failOnError:true)
forward action:"index"
}
INFO grails.app.controllers.onetoone.BrotherController - Sister before:2:Mary --> null
INFO grails.app.controllers.onetoone.BrotherController - Brother: null:Harry --> Mary
INFO grails.app.controllers.onetoone.BrotherController - Sister after:2:Mary --> Harry
results in automatic setting of favouriteBrother of the Sister instance. This is not what I expected, given there is no ownership in the relationship. In my actual use case, this is okay, although made me chase through my code, so not in line with least surprise principle, so I came up with the example, I may be her favourite Brother, but the reverse is not necessarily true.
In the SisterController, if we set favouriteBrother explicitly, then reverse direction is not set, which I believe the correct result.
One to One relationship without any ownership: Setting one side in constructor results in reverse automatically set. I could reluctantly live with this if it is the officially supported behaviour, but would need to be explicitly documented so not not burn unsuspecting user, or disappear in a future release.
Sample in:
https://github.com/hakanernam/grails-onetoone
and BrotherController action, setting favouriteSister in the constructor:
results in automatic setting of favouriteBrother of the Sister instance. This is not what I expected, given there is no ownership in the relationship. In my actual use case, this is okay, although made me chase through my code, so not in line with least surprise principle, so I came up with the example, I may be her favourite Brother, but the reverse is not necessarily true.
In the SisterController, if we set favouriteBrother explicitly, then reverse direction is not set, which I believe the correct result.
The text was updated successfully, but these errors were encountered: