borinquenkid commented on PR #16656: URL: https://github.com/apache/grails-core/pull/16656#issuecomment-6259009829
Thanks, you were right on the circular half. I confirmed it on this head: `bindCollectionSecondPass` makes every circular collection non-inverse, so both properties write their own join table, and the relationship is stored with or without `belongsTo`. Pushed in 83089c549b: - `warnIfManyToManyHasNoOwningSide` excludes `isCircular()` again, and the tie-break on property names is gone. The Map exclusion stays. The javadoc gives the circular case its reason, including that `belongsTo` there swaps the two join table names. - The circular test now asserts no warning and that both sides read back after `addToFollowing`. The `WarnCircularOwned` case is dropped, and the self-referencing test is renamed to say it is a unidirectional one-to-many. - Guide: the false circular paragraph and callout are removed. The Map note moved to after "expected behaviour" and says each Map side writes its own join table. I added a short note on the circular shape (each property writes its own table, use `addToX`/`removeFromX`, do not add `belongsTo` to a mapping that already works). - The PR description and the commit message no longer make the circular claims. `ManyToManyWithoutOwnerWarningSpec` passes 8/8 on this head. Could you take another look? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
