diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
index 91e03829423c7117897ae3619e1211960b1c8045..80542a403f91f41509d498a4e50068bf761c642b 100644
--- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
+++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java
@@ -54,6 +54,7 @@ public class View {
     @Column(name = "createdBy", nullable = false, columnDefinition = "VARCHAR(36)")
     private UUID createdBy;
 
+    @ToString.Exclude
     @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
     @JoinColumns({
             @JoinColumn(name = "createdBy", referencedColumnName = "ID", insertable = false, updatable = false)
diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
index 99b9c5d74a1549b0a56b0038c62d37f42d5ebff8..f1c62bd3d2b74d1bc55b910428891afd5ce6b017 100644
--- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
+++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
@@ -5,7 +5,6 @@ import at.tuwien.entities.database.View;
 import at.tuwien.entities.database.table.Table;
 import at.tuwien.entities.user.User;
 import lombok.*;
-import lombok.extern.log4j.Log4j2;
 import org.hibernate.annotations.GenericGenerator;
 import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.annotation.LastModifiedDate;
@@ -17,7 +16,7 @@ import java.util.List;
 
 @Data
 @Entity
-@Builder
+@Builder(toBuilder=true)
 @ToString
 @AllArgsConstructor
 @NoArgsConstructor
@@ -148,10 +147,13 @@ public class TableColumn implements Comparable<TableColumn> {
      * @return True if columns are equal, false otherwise
      */
     public boolean equals(Object object) {
-        if (!(object instanceof TableColumn)) {
+        if (object == null) {
             return false;
         }
-        final TableColumn other = (TableColumn) object;
-        return this.getId().equals(other.getId()) && this.getTid().equals(other.getTid()) && this.getCdbid().equals(other.getCdbid());
+        if (!(object instanceof final TableColumn other)) {
+            return false;
+        }
+        return this.getId().equals(other.getId()) && this.getTid().equals(other.getTid())
+                && this.getCdbid().equals(other.getCdbid());
     }
 }
diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/test/BaseTest.java
index 576f2786f6143d85eba3f1e52bbbe576299bba82..2d91e8ac304ec00b5c851dc14599803c6b65a85d 100644
--- a/dbrepo-metadata-db/test/src/main/java/at/tuwien/test/BaseTest.java
+++ b/dbrepo-metadata-db/test/src/main/java/at/tuwien/test/BaseTest.java
@@ -65,6 +65,7 @@ import static java.time.temporal.ChronoUnit.*;
  * <li>Table 3</li>
  * <li>Table 7</li>
  * <li>Query 1</li>
+ * <li>View 2</li>
  * <li>View 3</li>
  * </ul>
  * <p>
@@ -1057,7 +1058,7 @@ public abstract class BaseTest {
             .creator(DATABASE_1_CREATOR)
             .owner(DATABASE_1_OWNER)
             .tables(List.of()) /* TABLE_1, TABLE_2, TABLE_3, TABLE_7 */
-            .views(List.of())
+            .views(List.of()) /* VIEW_2, VIEW_3 */
             .build();
 
     public final static Database DATABASE_1_SIMPLE = Database.builder()
@@ -1607,7 +1608,7 @@ public abstract class BaseTest {
     public final static Instant TABLE_6_CREATED = Instant.ofEpochSecond(1677400147) /* 2023-02-26 08:29:07 (UTC) */;
     public final static Instant TABLE_6_LAST_MODIFIED = Instant.ofEpochSecond(1677400147) /* 2023-02-26 08:29:07 (UTC) */;
 
-    public final static Long TABLE_7_ID = 7L;
+    public final static Long TABLE_7_ID = 4L;
     public final static String TABLE_7_NAME = "Sensor";
     public final static String TABLE_7_INTERNAL_NAME = "sensor";
     public final static String TABLE_7_DESCRIPTION = "Hello sensor";
@@ -1617,7 +1618,7 @@ public abstract class BaseTest {
     public final static Instant TABLE_7_LAST_MODIFIED = Instant.ofEpochSecond(1677400175) /* 2023-02-26 08:29:35 (UTC) */;
 
     public final static List<TableColumn> TABLE_7_COLUMNS = List.of(TableColumn.builder()
-                    .id(1L)
+                    .id(44L)
                     .ordinalPosition(0)
                     .cdbid(DATABASE_1_ID)
                     .tid(TABLE_7_ID)
@@ -1631,7 +1632,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
-                    .id(2L)
+                    .id(45L)
                     .ordinalPosition(1)
                     .cdbid(DATABASE_1_ID)
                     .tid(TABLE_7_ID)
@@ -1650,12 +1651,14 @@ public abstract class BaseTest {
             .created(Instant.now())
             .internalName(TABLE_7_INTERNAL_NAME)
             .description(TABLE_7_DESCRIPTION)
+            .database(DATABASE_1)
             .name(TABLE_7_NAME)
             .tdbid(DATABASE_1_ID)
             .queueName(TABLE_7_QUEUE_NAME)
             .routingKey(TABLE_7_ROUTING_KEY)
             .columns(TABLE_7_COLUMNS)
             .creator(USER_1)
+            .owner(USER_1)
             .created(TABLE_7_CREATED)
             .lastModified(TABLE_7_LAST_MODIFIED)
             .build();
@@ -1665,12 +1668,14 @@ public abstract class BaseTest {
             .created(Instant.now())
             .internalName(TABLE_7_INTERNAL_NAME)
             .description(TABLE_7_DESCRIPTION)
+            .database(DATABASE_1_SIMPLE)
             .name(TABLE_7_NAME)
             .tdbid(DATABASE_1_ID)
             .queueName(TABLE_7_QUEUE_NAME)
             .routingKey(TABLE_7_ROUTING_KEY)
             .columns(List.of() /* for jpa */)
-            .creator(null /* for jpa */)
+            .creator(USER_1)
+            .owner(USER_1)
             .created(TABLE_7_CREATED)
             .lastModified(TABLE_7_LAST_MODIFIED)
             .build();
@@ -1844,7 +1849,7 @@ public abstract class BaseTest {
     public final static String COLUMN_2_3_CHECK = null;
     public final static List<String> COLUMN_2_3_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_1_ID = 9L;
+    public final static Long COLUMN_4_1_ID = 44L;
     public final static Integer COLUMN_4_1_ORDINALPOS = 0;
     public final static Boolean COLUMN_4_1_PRIMARY = true;
     public final static String COLUMN_4_1_NAME = "id";
@@ -1860,7 +1865,7 @@ public abstract class BaseTest {
     public final static ColumnTypeDto COLUMN_4_1_TYPE_DTO = ColumnTypeDto.NUMBER;
     public final static String[] COLUMN_4_1_ENUM_VALUES_ARRAY = null;
 
-    public final static Long COLUMN_4_2_ID = 10L;
+    public final static Long COLUMN_4_2_ID = 45L;
     public final static Integer COLUMN_4_2_ORDINALPOS = 1;
     public final static Boolean COLUMN_4_2_PRIMARY = false;
     public final static String COLUMN_4_2_NAME = "Animal Name";
@@ -1876,7 +1881,7 @@ public abstract class BaseTest {
     public final static ColumnTypeDto COLUMN_4_2_TYPE_DTO = ColumnTypeDto.STRING;
     public final static String[] COLUMN_4_2_ENUM_VALUES_ARRAY = null;
 
-    public final static Long COLUMN_4_3_ID = 11L;
+    public final static Long COLUMN_4_3_ID = 46L;
     public final static Integer COLUMN_4_3_ORDINALPOS = 2;
     public final static Boolean COLUMN_4_3_PRIMARY = false;
     public final static String COLUMN_4_3_NAME = "Hair";
@@ -1890,7 +1895,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_3_CHECK = null;
     public final static List<String> COLUMN_4_3_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_4_ID = 12L;
+    public final static Long COLUMN_4_4_ID = 47L;
     public final static Integer COLUMN_4_4_ORDINALPOS = 3;
     public final static Boolean COLUMN_4_4_PRIMARY = false;
     public final static String COLUMN_4_4_NAME = "Feathers";
@@ -1904,7 +1909,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_4_CHECK = null;
     public final static List<String> COLUMN_4_4_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_5_ID = 13L;
+    public final static Long COLUMN_4_5_ID = 48L;
     public final static Integer COLUMN_4_5_ORDINALPOS = 4;
     public final static Boolean COLUMN_4_5_PRIMARY = false;
     public final static String COLUMN_4_5_NAME = "Bread";
@@ -1918,7 +1923,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_5_CHECK = null;
     public final static List<String> COLUMN_4_5_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_6_ID = 14L;
+    public final static Long COLUMN_4_6_ID = 49L;
     public final static Integer COLUMN_4_6_ORDINALPOS = 5;
     public final static Boolean COLUMN_4_6_PRIMARY = false;
     public final static String COLUMN_4_6_NAME = "Eggs";
@@ -1932,7 +1937,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_6_CHECK = null;
     public final static List<String> COLUMN_4_6_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_7_ID = 15L;
+    public final static Long COLUMN_4_7_ID = 50L;
     public final static Integer COLUMN_4_7_ORDINALPOS = 6;
     public final static Boolean COLUMN_4_7_PRIMARY = false;
     public final static String COLUMN_4_7_NAME = "Milk";
@@ -1946,7 +1951,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_7_CHECK = null;
     public final static List<String> COLUMN_4_7_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_8_ID = 16L;
+    public final static Long COLUMN_4_8_ID = 51L;
     public final static Integer COLUMN_4_8_ORDINALPOS = 7;
     public final static Boolean COLUMN_4_8_PRIMARY = false;
     public final static String COLUMN_4_8_NAME = "Water";
@@ -1960,7 +1965,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_8_CHECK = null;
     public final static List<String> COLUMN_4_8_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_9_ID = 17L;
+    public final static Long COLUMN_4_9_ID = 52L;
     public final static Integer COLUMN_4_9_ORDINALPOS = 8;
     public final static Boolean COLUMN_4_9_PRIMARY = false;
     public final static String COLUMN_4_9_NAME = "Airborne";
@@ -1974,7 +1979,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_9_CHECK = null;
     public final static List<String> COLUMN_4_9_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_10_ID = 18L;
+    public final static Long COLUMN_4_10_ID = 53L;
     public final static Integer COLUMN_4_10_ORDINALPOS = 9;
     public final static Boolean COLUMN_4_10_PRIMARY = false;
     public final static String COLUMN_4_10_NAME = "Waterborne";
@@ -1988,7 +1993,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_10_CHECK = null;
     public final static List<String> COLUMN_4_10_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_11_ID = 19L;
+    public final static Long COLUMN_4_11_ID = 54L;
     public final static Integer COLUMN_4_11_ORDINALPOS = 10;
     public final static Boolean COLUMN_4_11_PRIMARY = false;
     public final static String COLUMN_4_11_NAME = "Aquantic";
@@ -2002,7 +2007,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_11_CHECK = null;
     public final static List<String> COLUMN_4_11_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_12_ID = 20L;
+    public final static Long COLUMN_4_12_ID = 55L;
     public final static Integer COLUMN_4_12_ORDINALPOS = 11;
     public final static Boolean COLUMN_4_12_PRIMARY = false;
     public final static String COLUMN_4_12_NAME = "Predator";
@@ -2016,7 +2021,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_12_CHECK = null;
     public final static List<String> COLUMN_4_12_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_13_ID = 21L;
+    public final static Long COLUMN_4_13_ID = 56L;
     public final static Integer COLUMN_4_13_ORDINALPOS = 12;
     public final static Boolean COLUMN_4_13_PRIMARY = false;
     public final static String COLUMN_4_13_NAME = "Backbone";
@@ -2030,7 +2035,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_13_CHECK = null;
     public final static List<String> COLUMN_4_13_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_14_ID = 22L;
+    public final static Long COLUMN_4_14_ID = 57L;
     public final static Integer COLUMN_4_14_ORDINALPOS = 13;
     public final static Boolean COLUMN_4_14_PRIMARY = false;
     public final static String COLUMN_4_14_NAME = "Breathes";
@@ -2044,7 +2049,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_14_CHECK = null;
     public final static List<String> COLUMN_4_14_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_15_ID = 23L;
+    public final static Long COLUMN_4_15_ID = 58L;
     public final static Integer COLUMN_4_15_ORDINALPOS = 14;
     public final static Boolean COLUMN_4_15_PRIMARY = false;
     public final static String COLUMN_4_15_NAME = "Venomous";
@@ -2058,7 +2063,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_15_CHECK = null;
     public final static List<String> COLUMN_4_15_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_16_ID = 24L;
+    public final static Long COLUMN_4_16_ID = 59L;
     public final static Integer COLUMN_4_16_ORDINALPOS = 15;
     public final static Boolean COLUMN_4_16_PRIMARY = false;
     public final static String COLUMN_4_16_NAME = "Fin";
@@ -2072,7 +2077,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_16_CHECK = null;
     public final static List<String> COLUMN_4_16_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_17_ID = 25L;
+    public final static Long COLUMN_4_17_ID = 60L;
     public final static Integer COLUMN_4_17_ORDINALPOS = 16;
     public final static Boolean COLUMN_4_17_PRIMARY = false;
     public final static String COLUMN_4_17_NAME = "Legs";
@@ -2086,7 +2091,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_17_CHECK = null;
     public final static List<String> COLUMN_4_17_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_18_ID = 26L;
+    public final static Long COLUMN_4_18_ID = 61L;
     public final static Integer COLUMN_4_18_ORDINALPOS = 17;
     public final static Boolean COLUMN_4_18_PRIMARY = false;
     public final static String COLUMN_4_18_NAME = "Tail";
@@ -2100,7 +2105,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_18_CHECK = null;
     public final static List<String> COLUMN_4_18_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_19_ID = 27L;
+    public final static Long COLUMN_4_19_ID = 62L;
     public final static Integer COLUMN_4_19_ORDINALPOS = 18;
     public final static Boolean COLUMN_4_19_PRIMARY = false;
     public final static String COLUMN_4_19_NAME = "Domestic";
@@ -2114,7 +2119,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_19_CHECK = null;
     public final static List<String> COLUMN_4_19_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_20_ID = 28L;
+    public final static Long COLUMN_4_20_ID = 63L;
     public final static Integer COLUMN_4_20_ORDINALPOS = 19;
     public final static Boolean COLUMN_4_20_PRIMARY = false;
     public final static String COLUMN_4_20_NAME = "Cat Size";
@@ -2128,7 +2133,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_20_CHECK = null;
     public final static List<String> COLUMN_4_20_ENUM_VALUES = null;
 
-    public final static Long COLUMN_4_21_ID = 29L;
+    public final static Long COLUMN_4_21_ID = 64L;
     public final static Integer COLUMN_4_21_ORDINALPOS = 20;
     public final static Boolean COLUMN_4_21_PRIMARY = false;
     public final static String COLUMN_4_21_NAME = "Class Type";
@@ -2142,7 +2147,7 @@ public abstract class BaseTest {
     public final static String COLUMN_4_21_CHECK = null;
     public final static List<String> COLUMN_4_21_ENUM_VALUES = null;
 
-    public final static Long COLUMN_5_1_ID = 23L;
+    public final static Long COLUMN_5_1_ID = 65L;
     public final static Integer COLUMN_5_1_ORDINALPOS = 0;
     public final static Boolean COLUMN_5_1_PRIMARY = true;
     public final static String COLUMN_5_1_NAME = "id";
@@ -2157,7 +2162,7 @@ public abstract class BaseTest {
     public final static String COLUMN_5_1_CHECK = null;
     public final static List<String> COLUMN_5_1_ENUM_VALUES = null;
 
-    public final static Long COLUMN_5_2_ID = 24L;
+    public final static Long COLUMN_5_2_ID = 66L;
     public final static Integer COLUMN_5_2_ORDINALPOS = 1;
     public final static Boolean COLUMN_5_2_PRIMARY = false;
     public final static String COLUMN_5_2_NAME = "firstname";
@@ -2173,7 +2178,7 @@ public abstract class BaseTest {
     public final static String COLUMN_5_2_CHECK = null;
     public final static List<String> COLUMN_5_2_ENUM_VALUES = null;
 
-    public final static Long COLUMN_5_3_ID = 25L;
+    public final static Long COLUMN_5_3_ID = 67L;
     public final static Integer COLUMN_5_3_ORDINALPOS = 2;
     public final static Boolean COLUMN_5_3_PRIMARY = false;
     public final static String COLUMN_5_3_NAME = "lastname";
@@ -2189,7 +2194,7 @@ public abstract class BaseTest {
     public final static String COLUMN_5_3_CHECK = null;
     public final static List<String> COLUMN_5_3_ENUM_VALUES = null;
 
-    public final static Long COLUMN_5_4_ID = 25L;
+    public final static Long COLUMN_5_4_ID = 68L;
     public final static Integer COLUMN_5_4_ORDINALPOS = 2;
     public final static Boolean COLUMN_5_4_PRIMARY = false;
     public final static String COLUMN_5_4_NAME = "ref_id";
@@ -2204,7 +2209,7 @@ public abstract class BaseTest {
     public final static String COLUMN_5_4_CHECK = null;
     public final static List<String> COLUMN_5_4_ENUM_VALUES = null;
 
-    public final static Long COLUMN_8_1_ID = 26L;
+    public final static Long COLUMN_8_1_ID = 69L;
     public final static Integer COLUMN_8_1_ORDINALPOS = 0;
     public final static Boolean COLUMN_8_1_PRIMARY = true;
     public final static String COLUMN_8_1_NAME = "ID";
@@ -2219,7 +2224,7 @@ public abstract class BaseTest {
     public final static String COLUMN_8_1_CHECK = null;
     public final static List<String> COLUMN_8_1_ENUM_VALUES = null;
 
-    public final static Long COLUMN_8_2_ID = 27L;
+    public final static Long COLUMN_8_2_ID = 70L;
     public final static Integer COLUMN_8_2_ORDINALPOS = 1;
     public final static Boolean COLUMN_8_2_PRIMARY = true;
     public final static String COLUMN_8_2_NAME = "Value";
@@ -2687,8 +2692,8 @@ public abstract class BaseTest {
             .routingKey(TABLE_1_ROUTING_KEY)
             .columns(List.of() /* for jpa */)
             .constraints(null /* for jpa */) /* TABLE_1_CONSTRAINTS */
-            .creator(null /* for jpa */)
-            .owner(null /* for jpa */)
+            .creator(USER_1)
+            .owner(USER_1)
             .created(TABLE_1_CREATED)
             .lastModified(TABLE_1_LAST_MODIFIED)
             .build();
@@ -2769,8 +2774,8 @@ public abstract class BaseTest {
             .queueName(TABLE_2_QUEUE_NAME)
             .routingKey(TABLE_2_ROUTING_KEY)
             .columns(List.of() /* for jpa */)
-            .creator(null /* for jpa */)
-            .owner(null /* for jpa */)
+            .creator(USER_1)
+            .owner(USER_1)
             .created(TABLE_2_CREATED)
             .lastModified(TABLE_2_LAST_MODIFIED)
             .build();
@@ -2791,6 +2796,7 @@ public abstract class BaseTest {
             .build();
 
     public final static List<TableColumn> TABLE_3_COLUMNS = List.of(TableColumn.builder()
+                    .id(9L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(0)
@@ -2805,6 +2811,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(10L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(1)
@@ -2819,6 +2826,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(11L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(2)
@@ -2833,6 +2841,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(12L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(3)
@@ -2847,6 +2856,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(13L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(4)
@@ -2861,6 +2871,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(14L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(5)
@@ -2875,6 +2886,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(15L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(6)
@@ -2889,6 +2901,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(16L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(7)
@@ -2903,6 +2916,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(17L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(8)
@@ -2917,6 +2931,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(18L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(9)
@@ -2931,6 +2946,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(19L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(10)
@@ -2945,6 +2961,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(20L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(11)
@@ -2959,6 +2976,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(21L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(12)
@@ -2973,6 +2991,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(22L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(13)
@@ -2987,6 +3006,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(23L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(14)
@@ -3001,6 +3021,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(24L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(15)
@@ -3015,6 +3036,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(25L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(16)
@@ -3029,6 +3051,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(26L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(17)
@@ -3043,6 +3066,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(27L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(18)
@@ -3057,6 +3081,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(28L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(19)
@@ -3071,6 +3096,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(29L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(20)
@@ -3085,6 +3111,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(30L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(21)
@@ -3099,6 +3126,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(31L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(22)
@@ -3113,6 +3141,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(32L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(23)
@@ -3127,6 +3156,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(33L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(24)
@@ -3141,6 +3171,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(34L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(25)
@@ -3155,6 +3186,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(35L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(26)
@@ -3169,6 +3201,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(36L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(27)
@@ -3183,6 +3216,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(37L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(28)
@@ -3197,6 +3231,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(38L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(29)
@@ -3211,6 +3246,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(39L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(30)
@@ -3225,6 +3261,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(40L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(31)
@@ -3239,6 +3276,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(41L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(32)
@@ -3253,6 +3291,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(42L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(33)
@@ -3267,6 +3306,7 @@ public abstract class BaseTest {
                     .creator(USER_1)
                     .build(),
             TableColumn.builder()
+                    .id(43L)
                     .tid(TABLE_3_ID)
                     .cdbid(DATABASE_1_ID)
                     .ordinalPosition(34)
@@ -3317,8 +3357,8 @@ public abstract class BaseTest {
             .routingKey(TABLE_3_ROUTING_KEY)
             .columns(List.of() /* for jpa */)
             .constraints(TABLE_3_CONSTRAINTS)
-            .creator(null /* for jpa */)
-            .owner(null /* for jpa */)
+            .creator(USER_1)
+            .owner(USER_1)
             .created(TABLE_3_CREATED)
             .lastModified(TABLE_3_LAST_MODIFIED)
             .build();
@@ -4051,6 +4091,82 @@ public abstract class BaseTest {
     public final static Boolean VIEW_2_PUBLIC = true;
     public final static String VIEW_2_QUERY = "select `date`, `location`, `mintemp`, `rainfall` from `weather_aus` where `location` = 'Albury'";
 
+    public final static List<TableColumn> VIEW_2_COLUMNS = List.of(TableColumn.builder()
+                    .id(COLUMN_1_1_ID)
+                    .ordinalPosition(COLUMN_1_1_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_1_NAME)
+                    .internalName(COLUMN_1_1_INTERNAL_NAME)
+                    .columnType(COLUMN_1_1_TYPE)
+                    .dfid(COLUMN_1_1_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_1_NULL)
+                    .autoGenerated(COLUMN_1_1_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_1_PRIMARY)
+                    .enumValues(COLUMN_1_1_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build(),
+            TableColumn.builder()
+                    .id(COLUMN_1_2_ID)
+                    .ordinalPosition(COLUMN_1_2_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_2_NAME)
+                    .internalName(COLUMN_1_2_INTERNAL_NAME)
+                    .columnType(COLUMN_1_2_TYPE)
+                    .dfid(COLUMN_1_2_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_2_NULL)
+                    .autoGenerated(COLUMN_1_2_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_2_PRIMARY)
+                    .enumValues(COLUMN_1_2_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build(),
+            TableColumn.builder()
+                    .id(COLUMN_1_3_ID)
+                    .ordinalPosition(COLUMN_1_3_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_3_NAME)
+                    .internalName(COLUMN_1_3_INTERNAL_NAME)
+                    .columnType(COLUMN_1_3_TYPE)
+                    .dfid(COLUMN_1_3_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_3_NULL)
+                    .autoGenerated(COLUMN_1_3_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_3_PRIMARY)
+                    .enumValues(COLUMN_1_3_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build(),
+            TableColumn.builder()
+                    .id(COLUMN_1_4_ID)
+                    .ordinalPosition(COLUMN_1_4_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_4_NAME)
+                    .internalName(COLUMN_1_4_INTERNAL_NAME)
+                    .columnType(COLUMN_1_4_TYPE)
+                    .dfid(COLUMN_1_4_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_4_NULL)
+                    .autoGenerated(COLUMN_1_4_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_4_PRIMARY)
+                    .enumValues(COLUMN_1_4_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build(),
+            TableColumn.builder()
+                    .id(COLUMN_1_5_ID)
+                    .ordinalPosition(COLUMN_1_5_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_5_NAME)
+                    .internalName(COLUMN_1_5_INTERNAL_NAME)
+                    .columnType(COLUMN_1_5_TYPE)
+                    .dfid(COLUMN_1_5_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_5_NULL)
+                    .autoGenerated(COLUMN_1_5_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_5_PRIMARY)
+                    .enumValues(COLUMN_1_5_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build());
+
     public final static View VIEW_2 = View.builder()
             .id(VIEW_2_ID)
             .isInitialView(VIEW_2_INITIAL_VIEW)
@@ -4059,6 +4175,7 @@ public abstract class BaseTest {
             .vcid(VIEW_2_CONTAINER_ID)
             .vdbid(VIEW_2_DATABASE_ID)
             .isPublic(VIEW_2_PUBLIC)
+            .columns(VIEW_2_COLUMNS)
             .query(VIEW_2_QUERY)
             .creator(USER_1)
             .createdBy(USER_1_ID)
@@ -4082,7 +4199,68 @@ public abstract class BaseTest {
     public final static Long VIEW_3_CONTAINER_ID = CONTAINER_1_ID;
     public final static Long VIEW_3_DATABASE_ID = DATABASE_1_ID;
     public final static Boolean VIEW_3_PUBLIC = false;
-    public final static String VIEW_3_QUERY = "select w.`mintemp`, w.`rainfall`, w.`location`, m.`lat`, m.`lng` from `weather_aus` w join `junit2` m on m.`location` = w.`location`";
+    public final static String VIEW_3_QUERY = "select w.`mintemp`, w.`rainfall`, w.`location`, m.`date` from `weather_aus` w join `junit2` m on m.`location` = w.`location`";
+
+    public final static List<TableColumn> VIEW_3_COLUMNS = List.of(TableColumn.builder()
+                    .id(COLUMN_1_4_ID)
+                    .ordinalPosition(COLUMN_1_4_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_4_NAME)
+                    .internalName(COLUMN_1_4_INTERNAL_NAME)
+                    .columnType(COLUMN_1_4_TYPE)
+                    .dfid(COLUMN_1_4_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_4_NULL)
+                    .autoGenerated(COLUMN_1_4_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_4_PRIMARY)
+                    .enumValues(COLUMN_1_4_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build(),
+            TableColumn.builder()
+                    .id(COLUMN_1_5_ID)
+                    .ordinalPosition(COLUMN_1_5_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_5_NAME)
+                    .internalName(COLUMN_1_5_INTERNAL_NAME)
+                    .columnType(COLUMN_1_5_TYPE)
+                    .dfid(COLUMN_1_5_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_5_NULL)
+                    .autoGenerated(COLUMN_1_5_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_5_PRIMARY)
+                    .enumValues(COLUMN_1_5_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build(),
+            TableColumn.builder()
+                    .id(COLUMN_1_3_ID)
+                    .ordinalPosition(COLUMN_1_3_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_3_NAME)
+                    .internalName(COLUMN_1_3_INTERNAL_NAME)
+                    .columnType(COLUMN_1_3_TYPE)
+                    .dfid(COLUMN_1_3_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_3_NULL)
+                    .autoGenerated(COLUMN_1_3_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_3_PRIMARY)
+                    .enumValues(COLUMN_1_3_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build(),
+            TableColumn.builder()
+                    .id(COLUMN_1_2_ID)
+                    .ordinalPosition(COLUMN_1_2_ORDINALPOS)
+                    .cdbid(DATABASE_1_ID)
+                    .tid(TABLE_1_ID)
+                    .name(COLUMN_1_2_NAME)
+                    .internalName(COLUMN_1_2_INTERNAL_NAME)
+                    .columnType(COLUMN_1_2_TYPE)
+                    .dfid(COLUMN_1_2_DATE_FORMAT)
+                    .isNullAllowed(COLUMN_1_2_NULL)
+                    .autoGenerated(COLUMN_1_2_AUTO_GENERATED)
+                    .isPrimaryKey(COLUMN_1_2_PRIMARY)
+                    .enumValues(COLUMN_1_2_ENUM_VALUES)
+                    .creator(USER_1)
+                    .build());
 
     public final static View VIEW_3 = View.builder()
             .id(VIEW_3_ID)
@@ -4092,6 +4270,7 @@ public abstract class BaseTest {
             .vcid(VIEW_3_CONTAINER_ID)
             .vdbid(VIEW_3_DATABASE_ID)
             .isPublic(VIEW_3_PUBLIC)
+            .columns(VIEW_3_COLUMNS)
             .query(VIEW_3_QUERY)
             .creator(USER_1)
             .createdBy(USER_1_ID)
diff --git a/dbrepo-metadata-db/test/src/test/resources/weather/2_schema_data.sql b/dbrepo-metadata-db/test/src/test/resources/weather/2_schema_data.sql
index c5d0a6a58c2169d09e92c0d5a7ebd701140672de..d82b0fc3d21b0465ea2b2dadb02cc339cff453c9 100644
--- a/dbrepo-metadata-db/test/src/test/resources/weather/2_schema_data.sql
+++ b/dbrepo-metadata-db/test/src/test/resources/weather/2_schema_data.sql
@@ -48,9 +48,9 @@ VALUES ('2022-12-24 17:00:00', 10.0),
 
 CREATE VIEW junit2 AS
 (
-SELECT `location`, `lat`, `lng`
-FROM `weather_location`
-WHERE `location` = 'Albury');
+select `date`, `location`, `mintemp`, `rainfall`
+from `weather_aus`
+where `location` = 'Albury');
 
 CREATE VIEW `hs_weather_aus` AS
 SELECT *
diff --git a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/repository/ViewRepositoryIntegrationTest.java b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/repository/ViewRepositoryIntegrationTest.java
index 7662f1dcbc9263b80139182624bb9406a1ddc592..77546be967512683ab16a4d8b21746e3deda91dd 100644
--- a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/repository/ViewRepositoryIntegrationTest.java
+++ b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/repository/ViewRepositoryIntegrationTest.java
@@ -22,6 +22,8 @@ import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -37,11 +39,9 @@ public class ViewRepositoryIntegrationTest extends BaseUnitTest {
     @MockBean
     private Channel channel;
 
-    /* keep */
     @MockBean
     private RabbitMqListenerImpl rabbitMqListener;
 
-    /* keep */
     @MockBean
     private BrokerServiceGateway brokerServiceGateway;
 
@@ -54,31 +54,37 @@ public class ViewRepositoryIntegrationTest extends BaseUnitTest {
     @Autowired
     private UserRepository userRepository;
 
+    @Autowired
+    private RealmRepository realmRepository;
+
     @Autowired
     private ContainerRepository containerRepository;
 
     @Autowired
-    private DatabaseRepository databaseRepository;
+    private TableRepository tableRepository;
 
     @Autowired
-    private ViewRepository viewRepository;
+    private TableColumnRepository tableColumnRepository;
+
+    @Autowired
+    private DatabaseRepository databaseRepository;
 
     @Autowired
-    private H2Utils h2Utils;
+    private ViewRepository viewRepository;
 
     @Rule
     public Timeout globalTimeout = Timeout.seconds(60);
 
     @BeforeEach
     public void beforeEach() {
+        realmRepository.save(REALM_DBREPO);
         userRepository.save(USER_1);
         imageRepository.save(IMAGE_1);
-        containerRepository.save(CONTAINER_1);
-        DATABASE_1.setTables(List.of());
-        DATABASE_1.setViews(List.of());
-        databaseRepository.save(DATABASE_1);
+        containerRepository.save(CONTAINER_1_SIMPLE);
+        databaseRepository.save(DATABASE_1_SIMPLE);
+        tableRepository.saveAll(List.of(TABLE_1, TABLE_2, TABLE_3, TABLE_7));
         viewRepository.save(VIEW_1);
-        viewRepository.save(VIEW_2);
+        viewRepository.save(VIEW_3);
         viewRepository.save(VIEW_3);
     }
 
@@ -87,15 +93,7 @@ public class ViewRepositoryIntegrationTest extends BaseUnitTest {
 
         /* test */
         final List<View> response = viewRepository.findAllPublicByDatabaseId(DATABASE_1_ID);
-        assertEquals(2, response.size());
-        final View view1 = response.get(0);
-        assertEquals(VIEW_1_ID, view1.getId());
-        assertEquals(VIEW_1_CONTAINER_ID, view1.getVcid());
-        assertEquals(VIEW_1_DATABASE_ID, view1.getVdbid());
-        final View view2 = response.get(1);
-        assertEquals(VIEW_2_ID, view2.getId());
-        assertEquals(VIEW_2_CONTAINER_ID, view2.getVcid());
-        assertEquals(VIEW_2_DATABASE_ID, view2.getVdbid());
+        assertEquals(0, response.size());
     }
 
     @Test
@@ -103,19 +101,11 @@ public class ViewRepositoryIntegrationTest extends BaseUnitTest {
 
         /* test */
         final List<View> response = viewRepository.findAllPublicOrMineByDatabaseId(DATABASE_1_ID, USER_1_USERNAME);
-        assertEquals(3, response.size());
+        assertEquals(1, response.size());
         final View view1 = response.get(0);
-        assertEquals(VIEW_1_ID, view1.getId());
-        assertEquals(VIEW_1_CONTAINER_ID, view1.getVcid());
-        assertEquals(VIEW_1_DATABASE_ID, view1.getVdbid());
-        final View view2 = response.get(1);
-        assertEquals(VIEW_2_ID, view2.getId());
-        assertEquals(VIEW_2_CONTAINER_ID, view2.getVcid());
-        assertEquals(VIEW_2_DATABASE_ID, view2.getVdbid());
-        final View view3 = response.get(2);
-        assertEquals(VIEW_3_ID, view3.getId());
-        assertEquals(VIEW_3_CONTAINER_ID, view3.getVcid());
-        assertEquals(VIEW_3_DATABASE_ID, view3.getVdbid());
+        assertEquals(VIEW_3_ID, view1.getId());
+        assertEquals(VIEW_3_CONTAINER_ID, view1.getVcid());
+        assertEquals(VIEW_3_DATABASE_ID, view1.getVdbid());
     }
 
 }
diff --git a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java
index 749aecac367a47059eb00d81d3fdd6b3f4322384..cfef081d1eb3abf3fd94d998702b095f59b64f3d 100644
--- a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java
+++ b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java
@@ -10,7 +10,6 @@ import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.ReadyConfig;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.BrokerServiceGateway;
-import at.tuwien.listener.MessageQueueListener;
 import at.tuwien.listener.impl.RabbitMqListenerImpl;
 import at.tuwien.querystore.Query;
 import at.tuwien.repository.jpa.*;
@@ -86,19 +85,6 @@ public class QueryServiceIntegrationTest extends BaseUnitTest {
 
     private final static String BIND_ZOO = new File("../../dbrepo-metadata-db/test/src/test/resources/zoo").toPath().toAbsolutePath() + ":/docker-entrypoint-initdb.d";
 
-    @BeforeAll
-    public static void beforeAll() {
-        afterAll();
-        /* create network */
-        DockerConfig.createAllNetworks();
-    }
-
-    @AfterAll
-    public static void afterAll() {
-        DockerConfig.removeAllContainers();
-        DockerConfig.removeAllNetworks();
-    }
-
     @BeforeEach
     public void beforeEach() {
         afterEach();
@@ -106,17 +92,9 @@ public class QueryServiceIntegrationTest extends BaseUnitTest {
         DockerConfig.createAllNetworks();
         /* metadata database */
         DATABASE_1.setTables(List.of(TABLE_1, TABLE_2, TABLE_3, TABLE_7));
-        TABLE_1.setDatabase(DATABASE_1);
-        TABLE_1.setColumns(TABLE_1_COLUMNS);
-        TABLE_2.setDatabase(DATABASE_1);
-        TABLE_3.setDatabase(DATABASE_1);
-        TABLE_7.setDatabase(DATABASE_1);
+        DATABASE_1.setViews(List.of(VIEW_2, VIEW_3));
         DATABASE_2.setTables(List.of(TABLE_4, TABLE_5, TABLE_6));
         DATABASE_2.setViews(List.of(VIEW_4));
-        TABLE_4.setDatabase(DATABASE_2);
-        TABLE_5.setDatabase(DATABASE_2);
-        TABLE_6.setDatabase(DATABASE_2);
-        VIEW_4.setDatabase(DATABASE_2);
     }
 
     @AfterEach
diff --git a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java
index 2d264ca8905f2a8ff03da5d7c1b9c31419884cbe..dd8135d60e59922c405f6b69ca50e98f136b094b 100644
--- a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java
+++ b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java
@@ -129,22 +129,20 @@ public class ViewServiceIntegrationTest extends BaseUnitTest {
         assertEquals(VIEW_3_INTERNAL_NAME, response.getInternalName());
         assertEquals(VIEW_3_QUERY, response.getQuery());
         final List<Map<String, String>> resultSet = MariaDbConfig.selectQuery(CONTAINER_1_INTERNALNAME, DATABASE_1_INTERNALNAME,
-                "SELECT j.* FROM `debug` j", "mintemp", "rainfall", "location", "lat", "lng");
+                "SELECT j.* FROM `debug` j", "mintemp", "rainfall", "date", "location");
         assertEquals("13.4", resultSet.get(0).get("mintemp"));
         assertEquals("0.6", resultSet.get(0).get("rainfall"));
         assertEquals("Albury", resultSet.get(0).get("location"));
-        assertEquals("-36.0653583", resultSet.get(0).get("lat"));
-        assertEquals("146.9112214", resultSet.get(0).get("lng"));
+        assertEquals("2008-12-01", resultSet.get(0).get("date"));
         assertEquals("7.4", resultSet.get(1).get("mintemp"));
         assertEquals("0", resultSet.get(1).get("rainfall"));
         assertEquals("Albury", resultSet.get(1).get("location"));
-        assertEquals("-36.0653583", resultSet.get(1).get("lat"));
-        assertEquals("146.9112214", resultSet.get(1).get("lng"));
+        assertEquals("2008-12-01", resultSet.get(1).get("date"));
         assertEquals("12.9", resultSet.get(2).get("mintemp"));
         assertEquals("0", resultSet.get(2).get("rainfall"));
         assertEquals("Albury", resultSet.get(2).get("location"));
-        assertEquals("-36.0653583", resultSet.get(2).get("lat"));
-        assertEquals("146.9112214", resultSet.get(2).get("lng"));
+        assertEquals("2008-12-01", resultSet.get(2).get("date"));
+        /* more result checks omitted */
     }
 
     @Test
diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java b/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java
index 0152391911e27d8febc42507dabd93c1621083ca..b230ecadb520d8e9dd75f8e4a034fefbdaa516b0 100644
--- a/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java
+++ b/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java
@@ -44,7 +44,6 @@ import java.time.Instant;
 import java.time.format.DateTimeParseException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Objects;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
@@ -477,30 +476,29 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService
         log.trace("columns referenced in the from-clause and join-clause(s): {}", clauses);
         /* Checking if all tables or views exist */
         final List<TableColumn> allColumns = new ArrayList<>();
-        for (FromItem fromItem : tablesOrViews) {
-            database.getTables()
-                    .stream()
-                    .filter(table -> table.equals(fromItem))
-                    .forEach(table -> {
-                        table.getColumns()
-                                .forEach(column -> {
-                                    column.setTable(table);
-                                });
-                        allColumns.addAll(table.getColumns());
-                    });
-            database.getViews()
-                    .stream()
-                    .filter(view -> view.equals(fromItem))
-                    .forEach(view -> {
-                        view.getColumns()
-                                .forEach(column -> {
-                                    column.setView(view);
-                                });
-                        allColumns.addAll(view.getColumns());
-                    });
-        }
+        database.getTables()
+                .forEach(table -> {
+                    table.getColumns()
+                            .forEach(column -> {
+                                final TableColumn tmp = column.toBuilder() /* copy constructor */
+                                        .table(table)
+                                        .build();
+                                allColumns.add(tmp);
+                            });
+                });
+        database.getViews()
+                .forEach(view -> {
+                    view.getColumns()
+                            .forEach(column -> {
+                                final TableColumn tmp = column.toBuilder() /* copy constructor */
+                                        .view(view)
+                                        .build();
+                                allColumns.add(tmp);
+                            });
+                });
+        final List<TableColumn> col = allColumns.stream().filter(c -> c.getInternalName().equals("date")).toList();
+        log.trace("");
         log.trace("table(s) or view(s) referenced in the statement: {}", tablesOrViews.stream().map(t -> ((net.sf.jsqlparser.schema.Table) t).getName()).collect(Collectors.toList()));
-        log.trace("column(s) referenced in the statement: {}", allColumns.stream().map(c -> (c.getTable() == null ? c.getView().getInternalName() : c.getTable().getInternalName()) + "." + c.getInternalName()).collect(Collectors.toList()));
         /* Checking if all columns exist */
         for (SelectItem clause : clauses) {
             final SelectExpressionItem item = (SelectExpressionItem) clause;