Support partially filled composite IDs #2282
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Summary of the change:
This PR supports a new scenario of Composite ID usage.
In case when composite ID can be partially generated (autoGenerated UUID or database-side autoIncrement column), I should be able to specify only static required CompositeID parts.
Detailed description:
school_id
column as constant component of composite primary key, and "Client" withclient_id
generated from a sequence, which I do not really need to specify when creating a new entity.writeValues
inEntityClass
will be written only if column is presented inCompositeID
. To avoid mistakes by forgotten column, missed column is additionally checked to be AutoIncrementColumn or to havedefaultValueFun
. To be completely reloaded by entityCache, id will be set to null after settingwriteValues
Type of Change
Please mark the relevant options with an "X":
Updates/remove existing public API methods:
Affected databases:
Checklist
Related Issues