diff --git a/fda-container-service/services/src/main/java/at/tuwien/auth/PermissionEvaluatorImpl.java b/fda-container-service/services/src/main/java/at/tuwien/auth/PermissionEvaluatorImpl.java
index 0bfbb375cfdf4690ffe7f825f1a1a6052ab04518..987774756e66456d02a9c47e78eb0c16d0fdd6ca 100644
--- a/fda-container-service/services/src/main/java/at/tuwien/auth/PermissionEvaluatorImpl.java
+++ b/fda-container-service/services/src/main/java/at/tuwien/auth/PermissionEvaluatorImpl.java
@@ -56,7 +56,7 @@ public class PermissionEvaluatorImpl implements PermissionEvaluator {
                     log.error("Failed to grant permission {}", permission);
                     log.debug("failed to grant permission {}, owner is not the current user", permission);
                     return false;
-                } else if (container.getDatabases().size() > 0) {
+                } else if (container.getDatabase() != null) {
                     log.error("Failed to grant permission {}", permission);
                     log.debug("failed to grant permission {}, databases present in the container", permission);
                     return false;
diff --git a/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java b/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java
index 6c3992111ddf19dfc598d515ede04b3fcda6d126..57104de0122ab93e82837291854de0ae8c7c1830 100644
--- a/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java
+++ b/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java
@@ -38,7 +38,7 @@ public interface ContainerMapper {
             @Mapping(source = "state", target = "state", qualifiedByName = "containerStateDto"),
             @Mapping(source = "id", target = "hash"),
             @Mapping(target = "id", ignore = true),
-            @Mapping(target = "databases", ignore = true),
+            @Mapping(target = "database", ignore = true),
     })
     ContainerDto inspectContainerResponseToContainerDto(InspectContainerResponse data);
 
diff --git a/fda-database-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java b/fda-database-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java
index d48096e7d01285ae82ff670af3f8e8ab19c69988..b425a856b7b5852d0594059d507288336f05a9cf 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java
@@ -11,7 +11,7 @@ public interface ContainerMapper {
 
     @Mappings({
             @Mapping(target = "id", source = "id"),
-            @Mapping(target = "databases", source = "databases", ignore = true),
+            @Mapping(target = "database", source = "database", ignore = true),
     })
     ContainerDto containerToContainerDto(Container data);
 
diff --git a/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java b/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java
index 2bf9fc672eb0983f151d785d1f0ab357091b0321..901fd7c3a65144b19924ac65c13c0a400af82109 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/service/impl/MariaDbServiceImpl.java
@@ -124,7 +124,7 @@ public class MariaDbServiceImpl extends HibernateConnector implements DatabaseSe
             DatabaseMalformedException, AmqpException, ContainerConnectionException, UserNotFoundException,
             DatabaseNameExistsException, DatabaseConnectionException, QueryMalformedException {
         final Container container = containerService.find(containerId);
-        if (container.getDatabases().size() != 0) {
+        if (container.getDatabase() != null) {
             log.error("Currently we only support one database per container.");
             throw new DatabaseMalformedException("Currently only one database per container is supported");
         }
diff --git a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java
index fef1d04e42ff8ef4fd5b3c765e1b66268370ddad..cf9b72db858cf92a6696711ad8e8f31e1e9f80d3 100644
--- a/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java
+++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java
@@ -42,9 +42,9 @@ public class ContainerDto {
     @Schema(example = "running")
     private ContainerStateDto state;
 
-    @ToString.Exclude
     @Schema
-    private List<DatabaseDto> databases;
+    @ToString.Exclude
+    private DatabaseDto database;
 
     @JsonProperty("ip_address")
     private String ipAddress;
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java
index 639213fb30e7d5c1e64f36dbeb61106dcc253099..22894af699620c8311884e1f7a7958108a3d8eb9 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java
@@ -53,15 +53,19 @@ public class Container {
     @Column
     private Integer port;
 
+    @ToString.Exclude
     @org.springframework.data.annotation.Transient
-    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @OneToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "id", referencedColumnName = "id", insertable = false, updatable = false)
     })
-    private List<Database> databases;
+    private Database database;
 
     @org.springframework.data.annotation.Transient
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @ManyToOne(fetch = FetchType.LAZY)
+    @JoinColumns({
+            @JoinColumn(name = "image_id", referencedColumnName = "id", insertable = false, updatable = false)
+    })
     private ContainerImage image;
 
     @Column
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
index 084966a15ea0fb41a67376c1f33303db25ad6d10..3253c44e8590448359b4fba5d3c313be4d091835 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
@@ -64,7 +64,7 @@ public class ContainerImage {
 
     @ToString.Exclude
     @org.springframework.data.annotation.Transient
-    @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.DETACH, CascadeType.MERGE}, mappedBy = "image")
+    @OneToMany(fetch = FetchType.LAZY, mappedBy = "image")
     private List<Container> containers;
 
     @Column(nullable = false, updatable = false)
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
index 94079ae737b961128fd58749afa1f2499107f870..bf2608fa413147575ded8394ced2e7555f630fc1 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
@@ -30,7 +30,7 @@ public class ContainerImageDate {
 
     @org.springframework.data.annotation.Transient
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "iid", insertable = false, updatable = false)
     private ContainerImage image;
 
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java
index 3bc8bf68aab3249cdccfc0d5c7cc24f944a94ffd..8aa33c9c62dbc119b366507055efd1650c7ed2db 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java
@@ -42,7 +42,7 @@ public class ContainerImageEnvironmentItem {
 
     @ToString.Exclude
     @org.springframework.data.annotation.Transient
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "iid", referencedColumnName = "id", insertable = false, updatable = false)
     })
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java
index 2bd23359fe9c4ab7abfa2967e693271aadace938..3e6ad2ba8b4212678e709ea20b8366413701a5cf 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java
@@ -42,9 +42,9 @@ public class Database {
     })
     private User creator;
 
-    @org.springframework.data.annotation.Transient
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @org.springframework.data.annotation.Transient
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "id", referencedColumnName = "id", insertable = false, updatable = false)
     })
@@ -68,6 +68,7 @@ public class Database {
     })
     private User contact;
 
+    @org.springframework.data.annotation.Transient
     @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
     @JoinColumns({
             @JoinColumn(name = "tdbid", referencedColumnName = "id", insertable = false, updatable = false)
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
index 8355800a853ce2be20b450ee7a7db88c86241cf5..4dfc6e4df9a37e479b8cd3e5e9ef63b0100ea042 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
@@ -42,7 +42,7 @@ public class View {
     private User creator;
 
     @org.springframework.data.annotation.Transient
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "vdbid", insertable = false, updatable = false)
     private Database database;
 
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java
index c2622873d5845545f6c168844b891d8713468db7..65ec9e82e4598f9b5722fb68700e44de0d2d86cb 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java
@@ -58,8 +58,7 @@ public class Table {
     private String description;
 
     @org.springframework.data.annotation.Transient
-    @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "tdbid", insertable = false, updatable = false)
     private Database database;
 
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
index d88409c754addca516f66b2ba12c3cf8f2f13f77..91c0f05df0bb5505ab96e1dba0a668aebd10bb49 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
@@ -54,7 +54,7 @@ public class TableColumn implements Comparable<TableColumn> {
 
     @org.springframework.data.annotation.Transient
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "tid", referencedColumnName = "id", insertable = false, updatable = false),
             @JoinColumn(name = "cdbid", referencedColumnName = "tdbid", insertable = false, updatable = false)
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java
index d60ae1e378c29043e0f5fc3e218ac646db958231..9d1777496c2202c96384f4226ddb0c8befeb2578 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java
@@ -35,7 +35,7 @@ public class Concept {
 
     @org.springframework.data.annotation.Transient
     @ToString.Exclude
-    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @OneToMany(fetch = FetchType.LAZY)
     @JoinTable(name = "mdb_columns_concepts",
             joinColumns = @JoinColumn(name = "concept_id", referencedColumnName = "id", insertable = false, updatable = false),
             inverseJoinColumns = {
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
index 2458b10c1ad6774b7d708bd19e44ed72a92a73b6..6fea41a4261560bc1fe396df23cebff4cedd3802 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
@@ -42,7 +42,7 @@ public class Creator {
 
     @org.springframework.data.annotation.Transient
     @ToString.Exclude
-    @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "pid", referencedColumnName = "id", insertable = false, updatable = false)
     private Identifier identifier;
 
diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java
index e9d00759a1f42524e22391f150cf202e8ac68d94..dab6e3c3a413c47794b07b7711c991e5acbd3607 100644
--- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java
+++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/user/TimeSecret.java
@@ -39,7 +39,7 @@ public class TimeSecret {
 
     @org.springframework.data.annotation.Transient
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "uid", referencedColumnName = "userid", insertable = false, updatable = false)
     })
diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
index abbc84317db42441081f041e980bdcf5299e8ae5..7157c6f436fdddec5bde0ff22354034ff5c72bfd 100644
--- a/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
+++ b/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
@@ -4,6 +4,8 @@ import at.tuwien.BaseUnitTest;
 import at.tuwien.config.DockerConfig;
 import at.tuwien.config.IndexInitializer;
 import at.tuwien.config.ReadyConfig;
+import at.tuwien.entities.container.Container;
+import at.tuwien.entities.database.Database;
 import at.tuwien.entities.database.table.Table;
 import at.tuwien.exception.*;
 import at.tuwien.repository.jpa.*;
@@ -22,10 +24,12 @@ import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
+import javax.transaction.Transactional;
 import java.io.File;
 import java.security.Principal;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import static at.tuwien.config.DockerConfig.dockerClient;
 import static at.tuwien.config.DockerConfig.hostConfig;
@@ -64,6 +68,9 @@ public class TableServiceIntegrationTest extends BaseUnitTest {
     @Autowired
     private UserRepository userRepository;
 
+    @Autowired
+    private ImageEnvironmentRepository imageEnvironmentRepository;
+
     @BeforeAll
     public static void beforeAll() throws InterruptedException {
         afterAll();
@@ -127,15 +134,12 @@ public class TableServiceIntegrationTest extends BaseUnitTest {
 
     @BeforeEach
     public void beforeEach() {
-        userRepository.save(USER_1);
-        userRepository.save(USER_2);
-        imageRepository.save(IMAGE_1);
-        containerRepository.save(CONTAINER_1);
-        containerRepository.save(CONTAINER_2);
-        databaseRepository.save(DATABASE_1) /* public */;
-        databaseRepository.save(DATABASE_2) /* private */;
-        tableRepository.save(TABLE_1);
-        tableRepository.save(TABLE_2);
+        CONTAINER_1.setDatabase(DATABASE_1);
+        CONTAINER_2.setDatabase(DATABASE_2);
+        TABLE_1.setDatabase(DATABASE_1);
+        TABLE_2.setDatabase(DATABASE_2);
+        tableRepository.save(TABLE_1) /* public */;
+        tableRepository.save(TABLE_2) /* private */;
     }
 
     @Test
diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageEnvironmentRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageEnvironmentRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..c25e8577e29c929d1778ef407253e9970c74c04d
--- /dev/null
+++ b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageEnvironmentRepository.java
@@ -0,0 +1,11 @@
+package at.tuwien.repository.jpa;
+
+import at.tuwien.entities.container.image.ContainerImage;
+import at.tuwien.entities.container.image.ContainerImageEnvironmentItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface ImageEnvironmentRepository extends JpaRepository<ContainerImageEnvironmentItem, Long> {
+
+}