diff --git a/opp/core/src/main/java/OPStaffService.java b/opp/core/src/main/java/OPStaffService.java
index 679b57ef64cc6a3f354ececfea3b1cd9c578ac84..bde0fb8275ba7c5583e12824fa7a8de0fbb60ca0 100644
--- a/opp/core/src/main/java/OPStaffService.java
+++ b/opp/core/src/main/java/OPStaffService.java
@@ -20,4 +20,6 @@ public interface OPStaffService {
      */
     public Optional<OPStaff> getOPStaff(Id<OPStaff> id);
 
+    public List<OPStaff> getOPStaffs();
+
 }
\ No newline at end of file
diff --git a/opp/core/src/main/java/OPStaffServiceImpl.java b/opp/core/src/main/java/OPStaffServiceImpl.java
index 4b33714ffe51a808f9b1f4187e1b35d67e1c5af5..b20454256b092ac8d4eaef0a3e71e30fc4d8397c 100644
--- a/opp/core/src/main/java/OPStaffServiceImpl.java
+++ b/opp/core/src/main/java/OPStaffServiceImpl.java
@@ -1,5 +1,6 @@
 import java.time.Instant;
 import java.util.Optional;
+import java.util.List;
 
 public class OPStaffServiceImpl implements OPStaffService{
 
@@ -31,11 +32,15 @@ public class OPStaffServiceImpl implements OPStaffService{
         return opStaff;
     }
 
-    @Override
-    public Optional<OPStaff> getOPStaff(Id<OPStaff> id) {
 
+    public Optional<OPStaff> getOPStaff(Id<OPStaff> id) {
         return repo.findOPStaff(id);
     }
 
 
+    public List<OPStaff> getOPStaffs(){
+        return repo.findOPStaffs();
+    }
+
+
 }
diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java
index 1d45a7ee27ffae73984a95f37ca1bf5a5a567fb0..39a77253d31d1e1bac32bae13729575f8396690a 100644
--- a/opp/core/src/main/java/Repository.java
+++ b/opp/core/src/main/java/Repository.java
@@ -71,4 +71,6 @@ public interface Repository {
 
     Optional<OPStaff> findOPStaff(Id<OPStaff> id);
 
+    List<OPStaff> findOPStaffs();
+
 }
diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
index 4983a4d13409abfbf69d5fca2ba45a51b3195648..c5676800989217ddc05076451f51a33516ff4fb6 100644
--- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
+++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
@@ -479,6 +479,32 @@ class JDBCRepository implements Repository
     }
   }
 
+  /**
+   * Reads an OPStaff from the OPStaff-SQLTable with the given ID.
+   * If no OPStaff with this ID is found, it will return an empty Optional.
+   * @return the found Operation
+   */
+  @Override
+  public List<OPStaff> findOPStaffs(){
+    try (
+            var result =
+                    conn.createStatement()
+                            .executeQuery("SELECT * FROM opstaff;")
+    ){
+        var opStaffs = new ArrayList<OPStaff>();
+
+        while(result.next()){
+          opStaffs.add(readOPStaffFromRow(result));
+        }
+
+        return opStaffs;
+
+
+    } catch (SQLException e){
+      throw new RuntimeException(e);
+    }
+  }
+
   /**
    * Creates an Operation object with the given result of a read SQL-Row.
    * @param rs the result of a read SQL-Row
diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java
index 62d3ad2490d0da05aab07db97f36b348b03b2d41..48b190b9af6177e681ad7df96268665bb7ea4db9 100644
--- a/opp/jdbc-repo-impl/src/test/java/Tests.java
+++ b/opp/jdbc-repo-impl/src/test/java/Tests.java
@@ -213,7 +213,7 @@ public final class Tests
     OPStaff createOPStaff = opStaffService.process(createCommand);
   }
 
-  @Test
+  //@Test
   public void testGetOPStaff() {
 
     try{
@@ -223,7 +223,22 @@ public final class Tests
     } catch (Exception e){
       e.printStackTrace();
     }
+    //assertEquals(operation.date(), testDate);
+  }
 
+  @Test
+  public void testGetOPStaffs() {
+
+    try{
+      List<OPStaff> opStaff = opStaffService.getOPStaffs();
+
+      for(OPStaff opStaff1 : opStaff){
+        System.out.println(opStaff1);
+      }
+
+    } catch (Exception e){
+      e.printStackTrace();
+    }
     //assertEquals(operation.date(), testDate);
   }
 }