Goal
Introduce a standardized Extension Entity pattern to allow common entities to be extended efficiently, supporting multiple inheritance, internationalization, and performant queries.
Scope
- Enable
Extension Entities to extend common entities, e.g.:
Address → CustomerAddress, SupplierAddress, ManufacturerAddress, EmployeeAddress
Contact → CustomerContact, SupplierContact, etc.
- CRUD operations (
get, save, update, delete) should use the parent repository for single record.
list / filter operations should generate custom SQL/HSQL/store queries for performance.
- Support multiple inheritance chains, e.g.:
ParentA → ChildB → ChildC → ChildD
- Handle internationalization with language tables where relevant.
Description
Currently, there is no standardized way to extend entities in Eclipse Dirigible EDM.
This issue introduces a parent-child pattern for extension entities, inspired by Mendix’s Parent → Child model:
- Parent entity: contains all common properties, manages persistence.
- Child entity: contains only child-specific properties and has reference to parent.
- CRUD operations (
get, save, update, delete) are handled through parent repositories to ensure consistency.
- Listing and filtering operations generate optimized queries capable of handling:
- Multiple inheritance chains
- Internationalized data via language tables
This refactor improves modularity, reduces duplication, and enables consistent handling of shared properties across entities like Address and Contact.
Acceptance Criteria
Goal
Introduce a standardized Extension Entity pattern to allow common entities to be extended efficiently, supporting multiple inheritance, internationalization, and performant queries.
Scope
Extension Entitiesto extend common entities, e.g.:Address→CustomerAddress,SupplierAddress,ManufacturerAddress,EmployeeAddressContact→CustomerContact,SupplierContact, etc.get,save,update,delete) should use the parent repository for single record.list / filteroperations should generate custom SQL/HSQL/store queries for performance.ParentA→ChildB→ChildC→ChildDDescription
Currently, there is no standardized way to extend entities in Eclipse Dirigible EDM.
This issue introduces a parent-child pattern for extension entities, inspired by Mendix’s
Parent → Childmodel:get,save,update,delete) are handled through parent repositories to ensure consistency.This refactor improves modularity, reduces duplication, and enables consistent handling of shared properties across entities like
AddressandContact.Acceptance Criteria
Address→CustomerAddress).list/filteroperations are performant.