Dynamic Search and Expression System
· One min read
Over 60 commits in a single month introduced dynamic search, the expression API, event system, and web framework.
DynamicSearchHelper
Build search queries from external input (JSON, request parameters) without writing Java code:
DynamicSearchHelper.search(ctx, "Order", jsonFilter, pageable);
Ideal for generic admin panels, mobile backends, and API gateways.
ValueExpression API
Reference entity properties in a type-safe way:
Q.orders().filter(
ValueExpression.of(Q.orders().amount()).gt(100)
).executeForList(ctx);
ID Generator System
- Remote ID Generator: Fetch IDs from a remote service
- Default ID Generator: Local UUID-based fallback
- Configurable per-entity ID generation strategy
Property Change Events
PropertyChangeEvent tracks which properties changed during an entity update, enabling selective SQL UPDATE and audit logging.
Web Response Framework
WebStyle: UI style definitionsWebAction: Frontend action descriptorsWebResponse: Standardized response objects
Soft Delete
entity.setDeleted(true); // soft delete
entity.recover(); // restore
