generatedIDsHaveNoRelationships property

bool get generatedIDsHaveNoRelationships

Whether an ID generated by an insert never has relationship rows: the database never reuses generated IDs (e.g. a sequence), so no rows of a deleted entity can refer to it.

Then storing the relationships of a just inserted entity skips the DELETE of its other relationship rows (there are none): one statement (round trip) less per relationship field. Default: false.

The relationship tables generated by this adapter delete the rows of a deleted entity (ON DELETE CASCADE), so they hold none even if an ID is reused. A relationship table without it, where an ID can be reused (MySQL before 8.0 resets AUTO_INCREMENT to MAX(id) + 1 on restart; a reset PostgreSQL sequence), could give a new entity the relationship rows of a deleted one: then override this as false.

Implementation

bool get generatedIDsHaveNoRelationships => false;