Skip to main content

JobRequisition

The JobRequisition entity, mapped to the job_requisition table.

Tablejob_requisition
Tenant-scopedYes — extends TenantOwned
Columns7
Relationships3
Sourcebackend/src/main/java/com/motorph/payroll/model/JobRequisition.java

Columns​

FieldTypeColumnNullNotes
requisitionIdIntegerrequisition_id—primary key, generated
numVacanciesIntegernum_vacancies——
estimatedCostBigDecimalestimated_costYes—
statusStringstatus——
descriptionStringdescriptionYes—
createdAtLocalDateTimecreated_at——
isArchivedBooleanis_archived—Archived rows are hidden from default listings but retained and restorable — distinct from the hard-delete endpoint, which removes the row outright.

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​

FieldKindTargetJoin columnRequired
department@ManyToOneDepartmentdepartment_idYes
position@ManyToOnePositionposition_idYes
requestedBy@ManyToOneEmployeerequested_byYes

Referenced by​

EntityFieldKind
JobOpeningrequisition@ManyToOne
StaffingPlanItemrequisition@ManyToOne

Neighbourhood​

Repository​

JobRequisitionRepository​

Declared over JobRequisition with id type Integer, with JpaSpecificationExecutor for dynamic filtering. Source: backend/src/main/java/com/motorph/payroll/repository/JobRequisitionRepository.java

MethodReturnsNotes
findWithDetailsByRequisitionId(Integer requisitionId)Optional<JobRequisition>derived

Reached by​

These controllers hold — directly or through a service they depend on — a repository over JobRequisition.

ControllerBase pathEndpointsModule
JobOpeningController/api/job-openings6Recruitment
JobRequisitionController/api/job-requisitions8Recruitment
PublicJobController/api/public3Recruitment
ReportingController/api/reports16Platform Misc
StaffingPlanController/api/staffing-plans7Recruitment

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/.