I had to re-read the many-many associations docs again before it finally sunk in, don't work directly against the mapping tables.
Before I was doing Mtbl.findFirst (""Type1ID=? and Type2ID=?", id1, id2)
then trying to do a delete.
instead you load both objects fully using
Type1 oType1Instance = Type1.findById(id1);
Type2 oType2Instance = Type2.findById(id2);
then do the add or remove from the mapping table via:
oType1Instance.add (oType2Instance)
oType1Instance.remove (oType2Instance)
I'm not sure why I was confused. I think because the pattern to fully load BOTH instance objects when you have the IDs seems a bit unnatural for me. I will try this way.
I hope this helps people who are slow like me ;*>