diff --git a/src/main/java/nl/tudelft/tam/model/JobHolder.java b/src/main/java/nl/tudelft/tam/model/JobHolder.java
index 86d87604446fdadf01482b5c0086af353c5ee7df..444610edcbc82a2d83820ca4357e742a9a3abc35 100644
--- a/src/main/java/nl/tudelft/tam/model/JobHolder.java
+++ b/src/main/java/nl/tudelft/tam/model/JobHolder.java
@@ -31,11 +31,13 @@ import lombok.experimental.SuperBuilder;
 @SuperBuilder
 @NoArgsConstructor
 @AllArgsConstructor
-@Inheritance(strategy = InheritanceType.JOINED)
-public class JobHolder {
+@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
+public sealed abstract class JobHolder permits Project {
+
 	@Id
-	@GeneratedValue(strategy = GenerationType.IDENTITY) //TODO: Once suborganisation is implemented, change to move this annotation to SubOrganisation id
-	private Long id;
+	public abstract Long getId();
+
+	public abstract void setId(Long id);
 
 	@OneToMany(mappedBy = "holder")
 	private Set<JobOffer> jobOffers = new HashSet<>();
diff --git a/src/main/java/nl/tudelft/tam/model/Project.java b/src/main/java/nl/tudelft/tam/model/Project.java
index 4dcf9c7919e74f44264592f97094054d2ed49454..98a7ec499c6ee95219331f2a7e5633fa83f655a4 100644
--- a/src/main/java/nl/tudelft/tam/model/Project.java
+++ b/src/main/java/nl/tudelft/tam/model/Project.java
@@ -25,13 +25,20 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
-// TODO: once suborganisation is implemented, change JobHolder to SubOrganisation
+/*
+ * TODO: once suborganisation is implemented, change JobHolder to SubOrganisation and add a one to one
+ * ProjectJobOffers entity
+ */
 @Data
 @Entity
 @SuperBuilder
 @NoArgsConstructor
 @AllArgsConstructor
-public class Project extends JobHolder {
+public non-sealed class Project extends JobHolder {
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	private Long id;
+
 	@NotNull
 	private String name;
 
diff --git a/src/main/java/nl/tudelft/tam/model/ProjectJobOffers.java b/src/main/java/nl/tudelft/tam/model/ProjectJobOffers.java
deleted file mode 100644
index 6699b34f895b6a09965c68f96fc3bd06439f6ae7..0000000000000000000000000000000000000000
--- a/src/main/java/nl/tudelft/tam/model/ProjectJobOffers.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * TAM
- * Copyright (C) 2021 - Delft University of Technology
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-package nl.tudelft.tam.model;
-
-import jakarta.persistence.Entity;
-import lombok.NoArgsConstructor;
-import lombok.experimental.SuperBuilder;
-
-@Entity
-@SuperBuilder
-@NoArgsConstructor
-//@AllArgsConstructor
-public class ProjectJobOffers extends JobHolder {
-}
diff --git a/src/main/resources/migrations.yaml b/src/main/resources/migrations.yaml
index 496e246ed750cd76c6157de2e75ad631b6bdb7c0..a64ca9c1710a9c4d62b8c9b630eb559c2c3983e2 100644
--- a/src/main/resources/migrations.yaml
+++ b/src/main/resources/migrations.yaml
@@ -940,144 +940,4 @@ databaseChangeLog:
           tableName: job_offer
 
 ## TAM Improvement
-- changeSet:
-    id: 1743251882315-1
-    author: marina (generated)
-    changes:
-      - createTable:
-          columns:
-            - column:
-                autoIncrement: true
-                constraints:
-                  nullable: false
-                  primaryKey: true
-                  primaryKeyName: CONSTRAINT_8D
-                name: id
-                type: BIGINT
-          tableName: job_holder
-- changeSet:
-    id: 1743251882315-2
-    author: marina (generated)
-    changes:
-      - createTable:
-          columns:
-            - column:
-                constraints:
-                  nullable: false
-                  primaryKey: true
-                  primaryKeyName: CONSTRAINT_ED9
-                name: id
-                type: BIGINT
-            - column:
-                name: organisation_id
-                type: BIGINT
-            - column:
-                name: name
-                type: VARCHAR(255)
-          tableName: project
-- changeSet:
-    id: 1743251882315-3
-    author: marina (generated)
-    changes:
-      - createTable:
-          columns:
-            - column:
-                constraints:
-                  nullable: false
-                  primaryKey: true
-                  primaryKeyName: CONSTRAINT_9
-                name: id
-                type: BIGINT
-          tableName: project_job_offers
-- changeSet:
-    id: 1743251882315-4
-    author: marina (generated)
-    changes:
-      - addColumn:
-          columns:
-            - column:
-                name: holder_id
-                type: BIGINT
-          tableName: job_offer
-- changeSet:
-    id: 1743251882315-5
-    author: marina (generated)
-    changes:
-      - createIndex:
-          associatedWith: ''
-          columns:
-            - column:
-                name: holder_id
-          indexName: FK37ddvbsl9gj5fxvi77f235buj_INDEX_5
-          tableName: job_offer
-- changeSet:
-    id: 1743251882315-6
-    author: marina (generated)
-    changes:
-      - createIndex:
-          associatedWith: ''
-          columns:
-            - column:
-                name: organisation_id
-          indexName: FK3quouuek44c2lxbp9uh7b4pm1_INDEX_E
-          tableName: project
-- changeSet:
-    id: 1743251882315-7
-    author: marina (generated)
-    changes:
-      - addForeignKeyConstraint:
-          baseColumnNames: holder_id
-          baseTableName: job_offer
-          constraintName: FK37ddvbsl9gj5fxvi77f235buj
-          deferrable: false
-          initiallyDeferred: false
-          onDelete: RESTRICT
-          onUpdate: RESTRICT
-          referencedColumnNames: id
-          referencedTableName: job_holder
-          validate: true
-- changeSet:
-    id: 1743251882315-8
-    author: marina (generated)
-    changes:
-      - addForeignKeyConstraint:
-          baseColumnNames: organisation_id
-          baseTableName: project
-          constraintName: FK3quouuek44c2lxbp9uh7b4pm1
-          deferrable: false
-          initiallyDeferred: false
-          onDelete: RESTRICT
-          onUpdate: RESTRICT
-          referencedColumnNames: id
-          referencedTableName: tamprogram
-          validate: true
-- changeSet:
-    id: 1743251882315-9
-    author: marina (generated)
-    changes:
-      - addForeignKeyConstraint:
-          baseColumnNames: id
-          baseTableName: project_job_offers
-          constraintName: FKlr407g8ab3ipnis7hjb04j39n
-          deferrable: false
-          initiallyDeferred: false
-          onDelete: RESTRICT
-          onUpdate: RESTRICT
-          referencedColumnNames: id
-          referencedTableName: job_holder
-          validate: true
-- changeSet:
-    id: 1743251882315-10
-    author: marina (generated)
-    changes:
-      - addForeignKeyConstraint:
-          baseColumnNames: id
-          baseTableName: project
-          constraintName: FKnkb4e1xadrghkv5x4vbipkxgr
-          deferrable: false
-          initiallyDeferred: false
-          onDelete: RESTRICT
-          onUpdate: RESTRICT
-          referencedColumnNames: id
-          referencedTableName: job_holder
-          validate: true
\ No newline at end of file
+