- Avoid resource intensive hydration by joining as JSON object at database level with custom expression - customize what join runs at most appropriate time