JobApplicantResume
Kept as its own table (rather than columns on JobApplicant) so that listing/pipeline queries for applicants never drag resume bytes along — only this table's own lookups do.
| Table | job_applicant_resume |
| Tenant-scoped | Yes — extends TenantOwned |
| Columns | 6 |
| Relationships | 1 |
| Source | backend/src/main/java/com/motorph/payroll/model/JobApplicantResume.java |
Columns
| Field | Type | Column | Null | Notes |
|---|---|---|---|---|
applicantId | Integer | applicant_id | — | primary key |
filename | String | filename | Yes | — |
contentType | String | content_type | Yes | — |
data | byte[] | data | Yes | — |
extractedText | String | extracted_text | Yes | — |
uploadedAt | LocalDateTime | uploaded_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 |
|---|---|---|---|---|
applicant | @OneToOne | JobApplicant | applicant_id | — |
Neighbourhood
Repository
JobApplicantResumeRepository
Declared over JobApplicantResume with id type Integer. Source: backend/src/main/java/com/motorph/payroll/repository/JobApplicantResumeRepository.java
| Method | Returns | Notes |
|---|---|---|
findByApplicantId(Integer applicantId) | Optional<JobApplicantResume> | derived |
existsByApplicantId(Integer applicantId) | boolean | derived |
deleteByApplicantId(Integer applicantId) | void | derived |
findApplicantIdsWithResume(@Param("ids") Collection<Integer> ids) | Set<Integer> | explicit @Query |
Reached by
These controllers hold — directly or through a service they depend on — a repository over JobApplicantResume.
| Controller | Base path | Endpoints | Module |
|---|---|---|---|
| JobApplicantController | /api/job-applicants | 11 | Recruitment |
| PublicJobController | /api/public | 3 | Recruitment |
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/.