Web / Apache OFBiz Interview questions
Why does OFBiz use its own Entity Engine instead of a plain JPA/Hibernate ORM?
OFBiz predates the maturity of JPA/Hibernate and was built to solve problems those ORMs don't fully cover for a multi-app ERP: one logical data model shared and extended across dozens of independently deployable components, multiple simultaneous data sources or tenants from one codebase, and database-agnostic entity definitions that can be extended by a plugin without touching a shared annotated Java class.
Because entities are described in XML rather than compiled into Java classes, a plugin can add fields or relations to a core entity, or define an entirely new view spanning several tables, without recompiling or subclassing anything - something that's awkward with annotation-based JPA entities tied to specific classes.
The trade-off is a framework-specific API and a steeper learning curve than a mainstream ORM, but in exchange OFBiz gets deep integration between generated database schemas, generated forms, generated service parameter validation, and automatic caching - all driven by the same entity model.
More Related questions...