SavedView
A user's named grid view (filters + visible columns + sort + density) for a given grid, identified by entityKey (e.g.
| Table | saved_view |
| Tenant-scoped | Yes — extends TenantOwned |
| Columns | 8 |
| Relationships | 1 |
| Source | backend/src/main/java/com/motorph/payroll/model/SavedView.java |
Columns
| Field | Type | Column | Null | Notes |
|---|---|---|---|---|
savedViewId | Integer | saved_view_id | — | primary key, generated |
entityKey | String | entity_key | — | — |
name | String | name | — | — |
filterModel | String | filter_model | Yes | — |
visibleColumns | String | visible_columns | Yes | — |
sortModel | String | sort_model | Yes | — |
density | String | density | Yes | — |
createdAt | LocalDateTime | created_at | — | — |
Plus tenant_id, inherited from TenantOwned. Hibernate stamps it on insert and adds where tenant_id = ? to every query, so it is never written or read by application code.
Relationships
| Field | Kind | Target | Join column | Required |
|---|---|---|---|---|
user | @ManyToOne | User | user_id | Yes |
Neighbourhood
Repository
SavedViewRepository
Declared over SavedView with id type Integer. Source: backend/src/main/java/com/motorph/payroll/repository/SavedViewRepository.java
| Method | Returns | Notes |
|---|---|---|
findByUser_UserIdAndEntityKeyOrderByNameAsc(Integer userId, String entityKey) | List<SavedView> | derived |
findByUser_UserIdAndEntityKeyAndName(Integer userId, String entityKey, String name) | Optional<SavedView> | derived |
findBySavedViewIdAndUser_UserId(Integer savedViewId, Integer userId) | Optional<SavedView> | derived |
Reached by
These controllers hold — directly or through a service they depend on — a repository over SavedView.
| Controller | Base path | Endpoints | Module |
|---|---|---|---|
| SavedViewController | /api/saved-views | 3 | Platform Misc |
Generated page
This page is rebuilt from the source on every docs build by docs-site/scripts/gen-code-wiki.mjs. Editing it has no effect — change the code, or, if what you want to say is prose, write it in docs/.