I confirm, this patch is good. When I converted simple to entity-auto I just control that we haven't regression to centralise the modification only on the engine, and with this issue you finish to correct the service definition.
> Some entity-auto services fields doesn't have optional false in case of multiple PK's
> -------------------------------------------------------------------------------------
>
> Key: OFBIZ-7519
> URL:
https://issues.apache.org/jira/browse/OFBIZ-7519> Project: OFBiz
> Issue Type: Improvement
> Components: accounting, content, marketing
> Affects Versions: Trunk
> Reporter: Amardeep Singh Jhajj
> Assignee: Pranay Pandey
> Fix For: Upcoming Branch
>
> Attachments: OFBIZ-7519-Screen-Shot.png, OFBIZ-7519.patch
>
>
> Some services with entity-auto doesn't have optional false in case of multiple PK's. In this cases if any of the PK is missing then sql error returns.
> Please find attached screenshot of error.
> According to my analysis of entity auto engine, Here are some cases:
> 1. One primary key: Takes new sequence if PK not passed.
> 2. Two primary key: Both PK should be mandatory except the case of secondary primary key (like agreementItemSeqId) where next subsequence is generated.
> 3. More than two PK's, all PK's should be mandatory except the fromDate.
> Here is the list of services which need to be fixed according to above points.
> 1. createAgreementItem
> 2. updateAgreementItem
> 3. deleteAgreementItem
> 4. updateAgreementTerm
> 5. deleteAgreementTerm
> 6. createContentMetaData
> 7. createContentPurpose
> 8. createContentPurposeOperation
> 9. createContentAttribute
> 10. createContentRevisionItem
> 11. createContentTypeAttr
> 12. createDataResourceMetaData
> 13. createDataResourcePurpose
> 14. createSurveyTrigger
> 15. createDataResourceAttribute
> 16. createSalesOpportunityRole
> I am working on it and will add patch soon.