diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/ExportResourceDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/ExportResourceDto.java
index 7324094f4c373916d7026d7edf80a50a23c976f6..5c5bf22005be92dbd172bfa4abd580dd298d6d5c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/ExportResourceDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/ExportResourceDto.java
@@ -7,6 +7,7 @@ import org.springframework.core.io.InputStreamResource;
 @Setter
 @ToString
 @Builder
+@EqualsAndHashCode
 @AllArgsConstructor
 @NoArgsConstructor
 public class ExportResourceDto {
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
index ed521fccdf83f9c9ffcbdb69081624c18c863609..03aeb19ab41e375822af6741e61b3161d67a7591 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
index 9973c875e83cf24f69100ea6c52bd28a260d842a..ad82492d7d4d867c4c706bfbc1f1549e9fafcd95 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java
index 47adfb26e44fafff8e1f64bde9d72fb1f584c8e2..dffe2c1e0e300fb631d7af34a09e605e1064a462 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java
@@ -1,16 +1,15 @@
 package at.tuwien.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
index fea40fd7ccbbc4d1831593bb10fefa06528e7057..372ce8219b0ee2ac63308c9f8028361d8471cb10 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
index be72924306a6eec019296808e5e11845a605c0a8..b27ea597c20a670df8897834b28bc62fcb95c0f7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java
index 6a6aceef067084ac9fbe6e92f2175d15ecac8011..403a04f00b4d437db1746cca1977989e61a85dc8 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java
@@ -1,16 +1,15 @@
 package at.tuwien.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.Parameter;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantExchangePermissionsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantExchangePermissionsDto.java
index 6ed572f96246ec8c078d925602f0aefde871a3a9..054548dbf06e683bcd787109afbff0359b59ca65 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantExchangePermissionsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantExchangePermissionsDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
index a00578529ce4b1617382757406989fad2d4d3a73..7e84edb80eb21faafbc4eb0ca87f4c5aa65464e4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
index 2bfcb7efe64b78341ff1b32e9b0fb47f954d5dff..8a266043a1a63f216d2ca0a378d69f11458e6555 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueDto.java
index 27ad5ba2878ff7f59f59fb5b2cb67239361c9da9..acc2091d41a158b07c7b23679be7e7ac1c385fc5 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueDto.java
@@ -1,15 +1,15 @@
 package at.tuwien.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/TopicPermissionDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/TopicPermissionDto.java
index 57fb360e64c377063ff982c7b75d6476c70b5ca5..bdd806f71e1312c05d27f034704297fa7c2bd885 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/TopicPermissionDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/TopicPermissionDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java
index f932dfcf999f15761c13a8de0ed3c45d3bb216e1..a786456efd0945d480ace653457f3e8a284ab78c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java
@@ -2,14 +2,14 @@ package at.tuwien.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/VirtualHostPermissionDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/VirtualHostPermissionDto.java
index 1cc1bd7f88e47fa14fe632e7129fbf70bcfcb4ce..0602c418da993c7bea9e2e557203128c9772fc8c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/VirtualHostPermissionDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/VirtualHostPermissionDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java
index fd76994630fac1b0ebf1c24002aed5f51f823405..0beb8a379491869edef613a594616beb21d1da83 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java
@@ -1,11 +1,10 @@
 package at.tuwien.api.auth;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.Email;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.List;
@@ -13,6 +12,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CredentialDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CredentialDto.java
index 591b73e8067ed8f722a1102f7216c04cc3a328a2..a9f95ad04d9c5e2ca8c953dc5169f5f0d9250bb0 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CredentialDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CredentialDto.java
@@ -1,15 +1,15 @@
 package at.tuwien.api.auth;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java
index c05f053c3b1de0d0758074161a73555069b25ad4..93d562ca77a81caf86f93a9ec6e96184f706d7ae 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java
@@ -1,9 +1,8 @@
 package at.tuwien.api.auth;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.List;
@@ -11,6 +10,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/KeycloakErrorDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/KeycloakErrorDto.java
index 9b8ad90ea55d8d4aba75e637e4f9906fcc7e86d9..01c0a2d0348a2facf9009d9b865fd52338f2bab9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/KeycloakErrorDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/KeycloakErrorDto.java
@@ -11,6 +11,7 @@ import java.io.Serializable;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java
index 5d0de083d9a6e6612301163033e1b043c6a94f78..809de9881bc424fefe1da8937df03217facb1456 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.auth;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java
index bd4bcd27370c1c392efba5f413aaa56a93c58293..b759aff16843ef5cf8cc13466af20c1383599996 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.auth;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RefreshTokenRequestDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RefreshTokenRequestDto.java
index c774a602805d7b81e15aee1783fda3bad42eb8a9..05b8dfd3b5f51007011ea2f2f0d87e34181aeae4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RefreshTokenRequestDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RefreshTokenRequestDto.java
@@ -9,6 +9,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java
index 3cd30bc60fca15117f1173585ba5245d362d9208..c9110e041aaf1187675c58d2365cf63e1f1f2003 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java
@@ -1,17 +1,17 @@
 package at.tuwien.api.auth;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.Email;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Pattern;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/TokenIntrospectDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/TokenIntrospectDto.java
index a1756e0c9090eb64192be72f9f3b58e6d1efe954..8a2fa624b5794a36304949c3269ac3958beeaee1 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/TokenIntrospectDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/TokenIntrospectDto.java
@@ -2,14 +2,14 @@ package at.tuwien.api.auth;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
index 4038a39dc608db197ca0572882cca1218b4f6c32..9b1f8fcd4791d018970cb8559b5a7dcd1b1d7210 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
@@ -14,6 +14,7 @@ import java.time.Instant;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/DataTypeDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/DataTypeDto.java
index 312dcf998417f13c6d552dcb25d843516f799f1e..a4215c03928529186468081dfa054d6fd434f820 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/DataTypeDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/DataTypeDto.java
@@ -10,6 +10,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
index 38adbd6f0d6592a0e802d2bf33147916bbd9f139..880db11fbd9818ed432f8dab7a910c48a51bf72e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
@@ -10,6 +10,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
index ea47c51e477e45359598076478fdce87b6c3ddc3..3baa76171b1ad00ab575a0fafa403c675e16f640 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
@@ -12,6 +12,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/OperatorDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/OperatorDto.java
index a954bf4a61d52a1d4ee3063cf7187f8865969554..96113b5347e6fcd8d99878154686927da9c978ac 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/OperatorDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/OperatorDto.java
@@ -10,12 +10,15 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
 @ToString
 public class OperatorDto {
 
+    private Long id;
+
     @NotBlank
     @JsonProperty("display_name")
     @Schema(example = "XOR")
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/CrossrefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/CrossrefDto.java
index 8c51a0442aff61f4dbea7ae3302c3dcd8503a1fb..4a689a69ce93dead9cbb6bd27916326a986f22f1 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/CrossrefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/CrossrefDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/form/CrossrefLiteralFormDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/form/CrossrefLiteralFormDto.java
index 99a28ba5f2edb22e723362c466a6e724d551455e..b493cf89ff6ea61df68ef919c6a380b9a81769d2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/form/CrossrefLiteralFormDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/form/CrossrefLiteralFormDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefLabelDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefLabelDto.java
index d37f005d058265859f22e18b1f588f0c1127d9db..7bdaf0f93117c31dd91017f0e3fcda885060cd54 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefLabelDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefLabelDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefPrefLabelDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefPrefLabelDto.java
index 4073032f251b6c3ce90765ed0ce2a9b779cf4328..a70c161d83752cc338c0e0ccf416cc84a8ee8c8b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefPrefLabelDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefPrefLabelDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java
index 7abc667741cc8ae31f3e0a7dd3e4ef66e8b78ccd..7e929eb74843d7ad5589652c269f59d8bd7db498 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java
@@ -2,21 +2,17 @@
 package at.tuwien.api.database;
 
 import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.UUID;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
@@ -25,12 +21,10 @@ public class DatabaseAccessDto {
 
     @NotNull
     @JsonIgnore
-    @ToString.Exclude
     private UUID huserid;
 
     @NotNull
     @JsonIgnore
-    @ToString.Exclude
     private Long hdbid;
 
     @NotNull
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
index 2d01129fefc8ca18d9e4d16d9ebbef6b0ad04f59..707df1600c8252b80c4e091e8dfb945e0975c1d4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
@@ -1,9 +1,7 @@
 package at.tuwien.api.database;
 
 import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.identifier.IdentifierDto;
 import at.tuwien.api.user.UserBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -11,12 +9,12 @@ import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
@@ -50,7 +48,6 @@ public class DatabaseBriefDto {
 
     private List<IdentifierBriefDto> identifiers;
 
-    @ToString.Exclude
     @NotNull
     private UserBriefDto contact;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java
index a20d9456bbd33addde563579ee03e9f7d17c6f73..f87673764ea55479e86ede7e3f2b70c94cd16b9a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java
@@ -10,6 +10,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
index 3343f23b68597b89d1fcd1af177191365ce20d1c..5fc253c4335044a1eaabbb43d02f7ae07510178b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
@@ -4,7 +4,6 @@ import at.tuwien.api.container.ContainerBriefDto;
 import at.tuwien.api.database.table.TableBriefDto;
 import at.tuwien.api.identifier.IdentifierBriefDto;
 import at.tuwien.api.user.UserBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -12,12 +11,12 @@ import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
@@ -62,7 +61,6 @@ public class DatabaseDto {
     @Schema(example = "true")
     private Boolean isSchemaPublic;
 
-    @ToString.Exclude
     @NotNull
     private ContainerBriefDto container;
 
@@ -72,11 +70,9 @@ public class DatabaseDto {
 
     private List<IdentifierBriefDto> subsets;
 
-    @ToString.Exclude
     @NotNull
     private UserBriefDto contact;
 
-    @ToString.Exclude
     @NotNull
     private UserBriefDto owner;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyImageDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyImageDto.java
index 627714f6cb358d1d7d53285f1646d565378553fd..5160ae76bfc3b9fc6445a33ff9c1bb277f9bc4dd 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyImageDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyImageDto.java
@@ -6,6 +6,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java
index f5a9aa0961a5e9bb99862354e723701ba1b5ba74..e641deade282e838c478b87f249e9b26676c4972 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java
@@ -2,14 +2,14 @@ package at.tuwien.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
index 75a517f4c19ace60ab23002b64fe5b3e14e64345..5a8e6beb1086a996aa77f47ff4f1530b62af00df 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
@@ -1,8 +1,7 @@
 package at.tuwien.api.database;
 
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.UUID;
@@ -10,6 +9,7 @@ import java.util.UUID;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LicenseDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LicenseDto.java
index 20fdf01de167eb9ec8c7b95ab5be7622f5eb51ff..a6384b3487bf1df7d320c2befa303ad59613d5f1 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LicenseDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LicenseDto.java
@@ -1,15 +1,15 @@
 package at.tuwien.api.database;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LoadFileDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LoadFileDto.java
index 7c4a9a72472e8b36cfe3964262c75c77ef916e10..65f5120d9b7cc78442bd071a6b02cbf70f534a41 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LoadFileDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LoadFileDto.java
@@ -9,6 +9,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java
index 984f37b790264a2e048d32b8d8b210d5550b4936..a82f6669ed62eac5402e0141d2bf414d01dbc462 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.database;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/UpdateDatabaseAccessDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/UpdateDatabaseAccessDto.java
index 8a83c998d267e1c3b64300c8e5cbf115d83f3979..32084c865feafc27fd1ae0a1a534229b347d3538 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/UpdateDatabaseAccessDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/UpdateDatabaseAccessDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
index e29bfbc109b13b9671b66e94d86d104e2fa2ad23..9b7c9fca89472a956b5d142e69c498c616fce81a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
@@ -1,7 +1,5 @@
 package at.tuwien.api.database;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -9,12 +7,12 @@ import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.UUID;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
index 3c093d19310e5a9aed257af731c09fd8610737a1..4005433afedbd5440b939d97bcd874f570a56c29 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
@@ -1,8 +1,6 @@
 package at.tuwien.api.database;
 
 import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -14,6 +12,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
@@ -29,7 +28,7 @@ public class ViewColumnDto {
 
     @NotNull
     @Schema(example = "0")
-    @JsonProperty("ordinal_position")
+    @JsonProperty("ord")
     private Integer ordinalPosition;
 
     @NotBlank
@@ -55,7 +54,7 @@ public class ViewColumnDto {
     private Long length;
 
     @NotNull
-    @JsonProperty("column_type")
+    @JsonProperty("type")
     @Schema(example = "string")
     private ColumnTypeDto columnType;
 
@@ -65,10 +64,6 @@ public class ViewColumnDto {
     @Schema(example = "0")
     private Long d;
 
-    private ConceptDto concept;
-
-    private UnitDto unit;
-
     @Size(max = 2048)
     @Schema(example = "Column comment")
     private String description;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java
index e63e6933d5da3e7270cc3145cc613800241db382..142a751ec4cc8eaceee7a9402af2c711d1acaa19 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java
@@ -2,16 +2,16 @@ package at.tuwien.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.Size;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
index 294bd04bd4ef873ac08cab943d0726f6ba9efaeb..d1ee156e9b95c09a9dd31c1ddf01926818f75879 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
@@ -2,7 +2,6 @@ package at.tuwien.api.database;
 
 import at.tuwien.api.identifier.IdentifierDto;
 import at.tuwien.api.user.UserBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -10,12 +9,12 @@ import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
@@ -29,10 +28,6 @@ public class ViewDto {
     @JsonProperty("database_id")
     private Long vdbid;
 
-    @NotNull
-    @ToString.Exclude
-    private DatabaseDto database;
-
     @NotBlank
     @Schema(example = "Air Quality")
     private String name;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedDatabaseDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedDatabaseDto.java
index 3317d40aeebe1dfe1e320ef8c77a6a91af8f7e4c..2335ea39baf1a2e8f1461b56c844409f8e21b207 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedDatabaseDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedDatabaseDto.java
@@ -64,7 +64,6 @@ public class PrivilegedDatabaseDto extends PrivilegedObjectDto {
     @Schema(example = "true")
     private Boolean isSchemaPublic;
 
-    @ToString.Exclude
     @NotNull
     private PrivilegedContainerDto container;
 
@@ -74,11 +73,9 @@ public class PrivilegedDatabaseDto extends PrivilegedObjectDto {
 
     private List<IdentifierDto> subsets;
 
-    @ToString.Exclude
     @NotNull
     private UserBriefDto contact;
 
-    @ToString.Exclude
     @NotNull
     private UserBriefDto owner;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java
index 87a8805374a1e89e406dc8898394107eec5f9a95..bda575f45d05f21a29a7be3d9da6cdfe1511d855 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java
@@ -31,7 +31,6 @@ public class PrivilegedViewDto extends PrivilegedObjectDto {
     private Long vdbid;
 
     @NotNull
-    @ToString.Exclude
     private PrivilegedDatabaseDto database;
 
     @NotBlank
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExportDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExportDto.java
index 1b2b1e03865f982d79d1a226990d6bd45bd07d10..36a13b348770945035292c8bbe32722688f8eea9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExportDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExportDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.database.query;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ImportDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
index a50c2d1bdf3e0cce964669dfe6bf779581c2b2b5..39cb6683a1cb2d5250054b8dd555bffbad929fad 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
@@ -2,15 +2,15 @@ package at.tuwien.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
index 28f8b61a52cd63df6ad0a750cf9dad28ee04dba8..90a1af28bcf14d64d51eca1db1cc6b46760079fb 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
@@ -17,6 +17,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
index b26a8c3c4ef8dbd4144f373d8d5211f6f4b3ae5d..cd1659e73c6a1e0a13e220e4a83aaaf5b5aacc2f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
@@ -16,6 +16,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryPersistDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryPersistDto.java
index a8098191866149b699dc80f9d59ca49f0ed8e294..5bc3ac2054452f007c256917c8eaa6a3288f1a1a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryPersistDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryPersistDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
index 19fd6ffbaf7827b60f63f1a08bd9103363a40e26..876dd5dfdd3c3f6a1e199138dfa7a3bfadc6292f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.database.query;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
index 615948486cd07626d9701b03df99852df4cebb9c..29531012f1f2912cc7d7f0c326661cee868ec72d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
@@ -1,22 +1,18 @@
 package at.tuwien.api.database.table;
 
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
-import at.tuwien.api.user.UserBriefDto;
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.util.List;
 import java.util.UUID;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java
index 602eef4e5dcd6ad6155df627afdea411ce1bc73e..7c3defcc0b69dc47e20c4e9aa9931fdfad1143b0 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java
@@ -4,11 +4,10 @@ import at.tuwien.api.database.table.columns.ColumnCreateDto;
 import at.tuwien.api.database.table.constraints.ConstraintsCreateDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.Size;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.List;
@@ -16,6 +15,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java
index efc3842b2908a514d20ab5af5580c97afc6a163e..ec221ae5f0ac5f1e9063a1cfbfcbcc2813f6ff60 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java
@@ -8,6 +8,7 @@ import java.sql.PreparedStatement;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
index 2370f45429c10e01b5de09ea3a2a8dd278e2c729..67087d438daedf60cd0236a8f5427310b06464e4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
@@ -4,7 +4,6 @@ import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.database.table.constraints.ConstraintsDto;
 import at.tuwien.api.identifier.IdentifierDto;
 import at.tuwien.api.user.UserBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -13,17 +12,16 @@ import jakarta.validation.constraints.Size;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
 @ToString
-@EqualsAndHashCode(onlyExplicitlyIncluded = true)
 public class TableDto {
 
     @NotNull
@@ -31,7 +29,6 @@ public class TableDto {
 
     @NotNull
     @JsonProperty("database_id")
-    @EqualsAndHashCode.Include
     private Long tdbid;
 
     @NotBlank
@@ -41,7 +38,6 @@ public class TableDto {
     @NotBlank
     @JsonProperty("internal_name")
     @Schema(example = "air_quality")
-    @EqualsAndHashCode.Include
     private String internalName;
 
     @Schema
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
index 87dfbd2eef6b121f27febf12357821ce6a585327..35df29430ff652372bb11487ada42ae55c02367c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
@@ -2,9 +2,8 @@ package at.tuwien.api.database.table;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.time.Instant;
@@ -12,6 +11,7 @@ import java.time.Instant;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java
index ea4d33df5de7391fd4dd940e718c121fbce3dacf..de6ff7feb7f35eeeb82fa8b028409268a473a7ed 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java
@@ -9,6 +9,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableStatisticDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableStatisticDto.java
index 8862723b9ca573a9b7356f207d145850d1c233af..6b5529a0a1d08f75b803575e944cc5e624177eca 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableStatisticDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableStatisticDto.java
@@ -12,6 +12,7 @@ import java.util.Map;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
@@ -35,6 +36,5 @@ public class TableStatisticDto {
     private Long avgRowLength;
 
     @NotNull
-    @ToString.Exclude
     private Map<String, ColumnStatisticDto> columns;
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDeleteDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDeleteDto.java
index eb626b0eaf806fab422ffb2c91f0cd38ac8e486c..6c3a946e1257dd2a9a90175a1904d88cf2f1a339 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDeleteDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDeleteDto.java
@@ -1,8 +1,7 @@
 package at.tuwien.api.database.table;
 
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.Map;
@@ -10,6 +9,7 @@ import java.util.Map;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java
index a428cb572604815ae80ab9f47f28965a7a784a69..62f57434b67dfe69e95bd212afb795f004da87d7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java
@@ -1,8 +1,7 @@
 package at.tuwien.api.database.table;
 
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.Map;
@@ -10,6 +9,7 @@ import java.util.Map;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleUpdateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleUpdateDto.java
index fee00469b127f71361fbfd88013c915038023fae..be50791b944db8eada4316ca6ee975dedf95a113 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleUpdateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleUpdateDto.java
@@ -1,8 +1,7 @@
 package at.tuwien.api.database.table;
 
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.Map;
@@ -10,6 +9,7 @@ import java.util.Map;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
index 938315457433287d353a1e5722719d53a776098c..4dee5f0837148f9c2d1095fdbe12d6ab664672ef 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
@@ -2,15 +2,15 @@ package at.tuwien.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
index 2d0696abc044db7dbffe8ace7444df0b9f7127c4..ca9bb10569e7bbeb30dd4b8080d0adbbcd2fab75 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
@@ -2,11 +2,10 @@ package at.tuwien.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.Size;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.List;
@@ -14,6 +13,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
index 435d26522dc8fe2580f092b2febe3d6cde0e0043..1f8d3b046e7c6fc6512fc68e53095822a3513061 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
@@ -1,10 +1,7 @@
 package at.tuwien.api.database.table.columns;
 
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
-import com.fasterxml.jackson.annotation.JsonIgnore;
+import at.tuwien.api.database.table.columns.concepts.ConceptBriefDto;
+import at.tuwien.api.database.table.columns.concepts.UnitBriefDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -20,11 +17,11 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
 @ToString
-@EqualsAndHashCode(onlyExplicitlyIncluded = true)
 public class ColumnDto {
 
     @NotNull
@@ -40,7 +37,7 @@ public class ColumnDto {
 
     @NotNull
     @Schema(example = "0")
-    @JsonProperty("ordinal_position")
+    @JsonProperty("ord")
     private Integer ordinalPosition;
 
     @NotBlank
@@ -52,7 +49,6 @@ public class ColumnDto {
     @Size(max = 64)
     @JsonProperty("internal_name")
     @Schema(example = "mdb_date")
-    @EqualsAndHashCode.Include
     private String internalName;
 
     @Schema
@@ -65,7 +61,7 @@ public class ColumnDto {
     private Long length;
 
     @NotNull
-    @JsonProperty("column_type")
+    @JsonProperty("type")
     @Schema(example = "string")
     private ColumnTypeDto columnType;
 
@@ -105,23 +101,14 @@ public class ColumnDto {
     @JsonProperty("std_dev")
     private BigDecimal stdDev;
 
-    private ConceptDto concept;
+    private ConceptBriefDto concept;
 
-    private UnitDto unit;
+    private UnitBriefDto unit;
 
     @Size(max = 2048)
     @Schema(example = "Column comment")
     private String description;
 
-    @ToString.Exclude
-    @JsonIgnore
-    @EqualsAndHashCode.Include
-    private TableDto table;
-
-    @ToString.Exclude
-    @JsonIgnore
-    private transient List<ViewDto> views;
-
     @NotNull
     @JsonProperty("is_null_allowed")
     @Schema(example = "false")
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnStatisticDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnStatisticDto.java
index 3f7ec87f3e92bcbfec1b1d8492874f6a0dd354ef..a7d76a47b260b7eac7e6b2c39a7c768abedbbe3c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnStatisticDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnStatisticDto.java
@@ -6,11 +6,11 @@ import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.math.BigDecimal;
-import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
index 77a38f70b46b521e2cf0b03bdba4aca8fe6b48a7..9c74981f1416740ee6e5679d1ea2ed3fbc59e2bc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptBriefDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..1e2b36dc66a2f75a846e0ee66cef2037bb8cfd8b
--- /dev/null
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptBriefDto.java
@@ -0,0 +1,28 @@
+package at.tuwien.api.database.table.columns.concepts;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import lombok.extern.jackson.Jacksonized;
+
+@Getter
+@Setter
+@Builder
+@EqualsAndHashCode
+@NoArgsConstructor
+@AllArgsConstructor
+@Jacksonized
+@ToString
+public class ConceptBriefDto {
+
+    @NotNull
+    private Long id;
+
+    @NotBlank
+    private String uri;
+
+    private String name;
+
+    private String description;
+
+}
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
index df171a5ee45c2dd81af2454d9c6a564ed333cfca..da00e64e8362ed298ba2bb9e2e98a596af716431 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
@@ -1,21 +1,17 @@
 package at.tuwien.api.database.table.columns.concepts;
 
 import at.tuwien.api.database.table.columns.ColumnBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
-import java.time.Instant;
 import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptSaveDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptSaveDto.java
index 159e07823ce48327a171d976b16e40db5f2fb8fe..b61d911ef9b3141954fe041fa18f8ee9d1362680 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptSaveDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptSaveDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitBriefDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..407f3708eb7a7fbe2b9746122b1f712858b8cf5e
--- /dev/null
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitBriefDto.java
@@ -0,0 +1,27 @@
+package at.tuwien.api.database.table.columns.concepts;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import lombok.extern.jackson.Jacksonized;
+
+@Getter
+@Setter
+@Builder
+@EqualsAndHashCode
+@NoArgsConstructor
+@AllArgsConstructor
+@Jacksonized
+@ToString
+public class UnitBriefDto {
+
+    @NotNull
+    private Long id;
+
+    @NotBlank
+    private String uri;
+
+    private String name;
+
+    private String description;
+}
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java
index bd2975c0cc53162fab217c49f8a4a0001f6b047d..48c7180c067123ec4ea09b0eb1b6cd167c4c9d7b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java
@@ -1,21 +1,17 @@
 package at.tuwien.api.database.table.columns.concepts;
 
 import at.tuwien.api.database.table.columns.ColumnBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
-import java.time.Instant;
 import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitSaveDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitSaveDto.java
index 326efc48b545a0d1ae55d6d41dfc7256ccb2f162..530c7c8fbb806e8ffc2eac124f0bd6fec3321ea4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitSaveDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitSaveDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java
index a317b08b8afb1a5f69d30aa69ff5d68ddbce14d6..3d35a20b0c57ae76f2d5fb6c4843e4d46d43ffab 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java
@@ -12,6 +12,7 @@ import java.util.Set;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
index 1644c95cdcf488425f5ee6fb795bdac432169d6f..8016de91316bb0a5cbac30fc4148ecc39acdc33b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
@@ -28,11 +28,9 @@ public class ForeignKeyDto {
     private List<ForeignKeyReferenceDto> references;
 
     @NotNull
-    @ToString.Exclude
     private TableBriefDto table;
 
     @NotNull
-    @ToString.Exclude
     @JsonProperty("referenced_table")
     private TableBriefDto referencedTable;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
index 111903d9265517e4b532c46a84983843619f0835..55fcc46ecf85fc097eeef7677b9d0c897c612aa3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
@@ -22,11 +22,9 @@ public class ForeignKeyReferenceDto {
     private ForeignKeyBriefDto foreignKey;
 
     @NotNull
-    @ToString.Exclude
     private ColumnBriefDto column;
 
     @NotNull
-    @ToString.Exclude
     @JsonProperty("referenced_column")
     private ColumnBriefDto referencedColumn;
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
index 25ad3f5d175cc8aeb4d07011c2bc9829da7242a6..80df5d443b70146c2ce2cda6e96bbf75c1816e28 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
@@ -18,10 +18,8 @@ public class PrimaryKeyDto {
     private Long id;
 
     @NotNull
-    @ToString.Exclude
     private TableBriefDto table;
 
     @NotNull
-    @ToString.Exclude
     private ColumnBriefDto column;
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
index 05de53784457602248105e8ccd7a6987db53dd51..2bcc9d6cf4fb4d130c398dc2ed0341af46f61df9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
@@ -27,10 +27,8 @@ public class UniqueDto {
     private String name;
 
     @NotNull
-    @ToString.Exclude
     private TableBriefDto table;
 
     @NotNull
-    @ToString.Exclude
     private List<ColumnDto> columns;
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/internal/PrivilegedTableDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/internal/PrivilegedTableDto.java
index 33fe8c4789c3054eed0d7aeb8997cc400da1125f..64b23f17c412c1042c0a1db9a040a67fcc612b39 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/internal/PrivilegedTableDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/internal/PrivilegedTableDto.java
@@ -24,7 +24,7 @@ import java.util.List;
 @AllArgsConstructor
 @Jacksonized
 @ToString
-@EqualsAndHashCode(onlyExplicitlyIncluded = true)
+@EqualsAndHashCode
 public class PrivilegedTableDto extends PrivilegedObjectDto {
 
     @NotNull
@@ -32,7 +32,6 @@ public class PrivilegedTableDto extends PrivilegedObjectDto {
 
     @NotNull
     @JsonProperty("database_id")
-    @EqualsAndHashCode.Include
     private Long tdbid;
 
     @NotBlank
@@ -42,7 +41,6 @@ public class PrivilegedTableDto extends PrivilegedObjectDto {
     @NotBlank
     @JsonProperty("internal_name")
     @Schema(example = "air_quality")
-    @EqualsAndHashCode.Include
     private String internalName;
 
     @Schema
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
index c58f152d40f1b24ca2a728460374406f9e217e1f..bb271f5ed6065595898f0a4f73b9758f66da2294 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
@@ -1,15 +1,15 @@
 package at.tuwien.api.error;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 import org.springframework.http.HttpStatus;
 
-import jakarta.validation.constraints.NotNull;
-
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
index 42675c889e11660d8e98cb2e2fb2c229d2d6850f..9c166f869c5bcec81c1e67212616e03833fe64c7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
@@ -13,6 +13,7 @@ import org.springframework.data.annotation.Id;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDescriptionDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDescriptionDto.java
index 616074f23331a1ee0f329e756fe86cd2fe8998e9..55e6ff76214a8af82ec32991c62aa265909d75f6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDescriptionDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDescriptionDto.java
@@ -11,6 +11,7 @@ import org.springframework.data.annotation.Id;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
index bff087c5905b817df53f5b338d2cee0284dfa95e..87baf4870661e292dbb69d180cfb1be43ac15f16 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
@@ -2,7 +2,7 @@ package at.tuwien.api.identifier;
 
 import at.tuwien.api.database.LanguageTypeDto;
 import at.tuwien.api.database.LicenseDto;
-import at.tuwien.api.user.UserDto;
+import at.tuwien.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -13,11 +13,11 @@ import lombok.extern.jackson.Jacksonized;
 
 import java.time.Instant;
 import java.util.List;
-import java.util.UUID;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
@@ -71,7 +71,6 @@ public class IdentifierDto {
     @Schema(description = "query hash in sha512")
     private String queryHash;
 
-    @NotNull
     @Schema(example = "2021-03-12T15:26:21Z")
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant execution;
@@ -92,7 +91,7 @@ public class IdentifierDto {
     private String publisher;
 
     @NotNull
-    private UserDto owner;
+    private UserBriefDto owner;
 
     @JsonProperty("publication_day")
     @Schema(example = "15")
@@ -116,8 +115,4 @@ public class IdentifierDto {
 
     private IdentifierStatusTypeDto status;
 
-    @NotNull
-    @JsonProperty("created_by")
-    private UUID createdBy;
-
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderDto.java
index ba0cc5b6dd0ce367daf6f71a2f71646325e9b399..921ba3eb983840dee342071bfde0a75f478946b4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderDto.java
@@ -11,6 +11,7 @@ import org.springframework.data.annotation.Id;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTitleDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTitleDto.java
index 70d6006bc239f2a09829cdb62ffbce950a75c4da..9333a05ce961a403b84463a10abc86ddb2a2e86c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTitleDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTitleDto.java
@@ -11,6 +11,7 @@ import org.springframework.data.annotation.Id;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
index 271333c49dcce9d0be8a16605c6dd89ad11f837e..74525bf711988a0690aeba9c403a44156885b0f3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
@@ -16,6 +16,7 @@ import java.time.Instant;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ldap/UserDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ldap/UserDto.java
index 3cb0a86e738a994a829fa064a95c5db1ac90b3a3..e6aec082263ebe4ebe2789a683264d06df43cc9b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ldap/UserDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ldap/UserDto.java
@@ -9,15 +9,14 @@ import java.util.UUID;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
 @ToString
-@EqualsAndHashCode(onlyExplicitlyIncluded = true)
 public class UserDto {
 
     @NotNull
-    @EqualsAndHashCode.Include
     private UUID id;
 
     @NotNull
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageDto.java
index 8143b18fb94f4d62d45339cf09845b72d3f3fcb6..e9c15c212e100f997e6c4afc6c585a4726e92feb 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageDto.java
@@ -13,6 +13,7 @@ import java.time.Instant;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/OrcidDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/OrcidDto.java
index 4520b692bf65862f8326378b95c045d997c484b0..c4ea89b005df0f5506e91b2bcc428c95a173bc7f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/OrcidDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/OrcidDto.java
@@ -9,6 +9,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/OrcidActivitiesSummaryDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/OrcidActivitiesSummaryDto.java
index 544754cedf09f14794693da981aa293cc8a73097..625611abd27a28864b310354936f9d167adee12f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/OrcidActivitiesSummaryDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/OrcidActivitiesSummaryDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/OrcidEmploymentsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/OrcidEmploymentsDto.java
index 5b8b6a3957d03341b91506de9caf6be06089f18d..dea853b62bc3680e8bcefcedb50f85aa567b2c74 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/OrcidEmploymentsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/OrcidEmploymentsDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
index 5a4ace0158c436c43d05c6d64aa713f243bc8887..a82a88869bb076791a85e8a9a51f45afb8e3a937 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
index df3c038abfce62b858f108303eb672a91ea50339..984dc8a6d07fe69b00a49636268e4334f3037678 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
index e10e72481eadc20423d718ebcc1da9c8a9ba4297..1377a73dba186cab8fafcda307643ae62144a601 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
index 53c59b4d1a995c0017ae571e0be9afdc44ecc310..149af1b3e693c2bd2da2e2f3decb102ee878e2d0 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
index 5d2e31c5235f3d1fd9fdb81f8d49896e751dbb83..c5ed53e37ff2ddab6a79e76465578d306ce50952 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/OrcidPersonDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/OrcidPersonDto.java
index 31c7f9235f5565e3f8e375398ba6c093c61d2036..f7de2794d721f283514562dfd8abecd687c229e5 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/OrcidPersonDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/OrcidPersonDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidNameDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidNameDto.java
index a36f9b044e2242d5349140a897be4d54ff9a06c3..44c2ac0e6bdcc58229b0189709adc20729697669 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidNameDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidNameDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidValueDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidValueDto.java
index baad8b0b782eb373a978b6467c4125080bc62914..251a39c23c3cd8d7dd4eb013461b530e76305647 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidValueDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidValueDto.java
@@ -6,6 +6,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ror/RorDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ror/RorDto.java
index d0c0f54bd53b5e26822d27371d2adc8101e796f7..8e9407885ca4f7e31994836a5664025ce7d499bb 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ror/RorDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ror/RorDto.java
@@ -6,6 +6,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyBriefDto.java
index 4a3436dabab5dd556b99e0d266dac8535979d353..b908b6e09e26ea5938b7eb0b44554db0a746d22e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyBriefDto.java
@@ -10,6 +10,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyDto.java
index 09099331ec7cb5a37fd2b3ce8604f59b97005d7b..686cd9f030c952ace5d85a0eecb3f049bcd1a2a9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyDto.java
@@ -14,6 +14,7 @@ import java.time.Instant;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/TableColumnEntityDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/TableColumnEntityDto.java
index 309561b96680b500faf15e79e71dba6d38b92dcc..79ea8d6a5a511a5794df53c455dddd912678219e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/TableColumnEntityDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/TableColumnEntityDto.java
@@ -13,7 +13,7 @@ import lombok.extern.jackson.Jacksonized;
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
-@EqualsAndHashCode(onlyExplicitlyIncluded = true)
+@EqualsAndHashCode
 @ToString
 public class TableColumnEntityDto {
 
@@ -33,7 +33,6 @@ public class TableColumnEntityDto {
     private Long columnId;
 
     @NotBlank
-    @EqualsAndHashCode.Include
     @Schema(example = "https://www.wikidata.org/entity/Q1686799")
     private String uri;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java
index d68514d42fff45a0b0f025a622847b4886906e57..f545f6204187a66a1c8942cb5e8a3eef9d73ae65 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
index 08a7ce10d6a8c118299b771f4225eac0500fc85c..07e0029a716b1d4414b1c10c71b4ad6bcb11ae4a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserAttributesDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserAttributesDto.java
index 713fbdb0437947a685a08060810b0f7a25c74f92..ef9bae650c9c8615c9f7c43198dd61285aa2ce41 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserAttributesDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserAttributesDto.java
@@ -9,6 +9,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
index 08ce389cbfae5b6017ac770f0982a0ca90f904d9..d245bbaf4c46584b9f0cd93fa7b43c2b31ef6333 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
@@ -2,9 +2,8 @@ package at.tuwien.api.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.UUID;
@@ -12,6 +11,7 @@ import java.util.UUID;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
index e72a0505ab63963281091714336ec2598f584359..cd5e8fd3e0cefe2f016261470b1236e9a3442b16 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
@@ -1,17 +1,18 @@
 package at.tuwien.api.user;
 
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
 
-import jakarta.validation.constraints.Email;
-import jakarta.validation.constraints.NotNull;
 import java.util.List;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDto.java
index 00a866bfd2923cc1ae88abc8273cd2d4b912295e..343d582b55da3af324aa23fd31ef61d8e1cd564d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDto.java
@@ -2,9 +2,8 @@ package at.tuwien.api.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.UUID;
@@ -12,15 +11,14 @@ import java.util.UUID;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
 @ToString
-@EqualsAndHashCode(onlyExplicitlyIncluded = true)
 public class UserDto {
 
     @NotNull
-    @EqualsAndHashCode.Include
     @Schema(example = "1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4")
     private UUID id;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserEmailDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
index 0459cb96e8911efc6197abb3752e8bb09a0faa2f..caaf33249710f14c7c49540aa8dd2afe0a18e0c3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
@@ -1,15 +1,15 @@
 package at.tuwien.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.Email;
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserForgotDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
index ffc95c3f8a6a0858961e57c5da58f1b5efbddf40..5ebcbae7429c335c122c62e58644b739d8fc90ea 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.Email;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
index 5fe224ee77185d2c5601133fcd0e22ec6a2546b9..2b86672cc2704886a287912ff39c70eba63f1904 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
index bcd21ded0249886fa44ca3e06d8be0725be3c060..dcf53932840057f6916b8ac281eae9031a40677e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
@@ -1,13 +1,13 @@
 package at.tuwien.api.user;
 
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserResetDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserResetDto.java
index 919c3b12aff302ef9d1b14a6d287c7108d4bb753..6cac59a904c529b1aa226b788bff427092e5bb1f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserResetDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserResetDto.java
@@ -1,13 +1,13 @@
 package at.tuwien.api.user;
 
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserRolesDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
index 06d7c83f26ffa29fcba90e8cb01993a96c185238..5667f38ec6c6f639981376292af5d16cda58b866 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
@@ -1,8 +1,7 @@
 package at.tuwien.api.user;
 
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 import java.util.List;
@@ -10,6 +9,7 @@ import java.util.List;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
index 17cd44442a0c83d53fd189cad5e216ae832050af..3f5b899df8777459e4df5faa86dccad01d6ac703 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotNull;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
index 7f536fba36202d9689ec96620df16dfcc22ab672..68d674a7c2287dbd747969d3ad58cdf303cd2bf6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java
index f54d2c474999d1d4b3c613c94e761cc584f66034..99f1eab30af6dc537ae767adb4e5e8cc8a1f5048 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java
@@ -1,14 +1,14 @@
 package at.tuwien.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
 import jakarta.validation.constraints.NotBlank;
+import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java
index 80d5d04d6db2ea80de5b1b64c8a9683b51a3dd69..fb40af09487d8b65a2efabb0cb18d46e317484bb 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java
@@ -4,11 +4,11 @@ import at.tuwien.api.user.external.affiliation.ExternalAffiliationDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import lombok.extern.jackson.Jacksonized;
 
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 public class ExternalMetadataDto {
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/affiliation/ExternalAffiliationDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/affiliation/ExternalAffiliationDto.java
index 0e56dea2a2ef7ac7427fa3d561b9efc791f93634..d8d30894bcb443a5bfb33426c01f3910bd4ee9b2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/affiliation/ExternalAffiliationDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/affiliation/ExternalAffiliationDto.java
@@ -8,6 +8,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/PrivilegedUserDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/PrivilegedUserDto.java
index b0600cfefd8b43b23445c9ccd0e7e418d820ea42..56e24cd81590261137cfa3d4f0f3c45399d80e70 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/PrivilegedUserDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/PrivilegedUserDto.java
@@ -15,15 +15,14 @@ import java.util.UUID;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
 @ToString
-@EqualsAndHashCode(onlyExplicitlyIncluded = true)
 public class PrivilegedUserDto extends PrivilegedObjectDto {
 
     @NotNull
-    @EqualsAndHashCode.Include
     @Schema(example = "1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4")
     private UUID id;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/UpdateUserPasswordDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/UpdateUserPasswordDto.java
index a498dd4a3156c09664bac68b50278f421cd66d58..c89e795bd367739c5b9d371e73c0191fa6758842 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/UpdateUserPasswordDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/UpdateUserPasswordDto.java
@@ -7,6 +7,7 @@ import lombok.extern.jackson.Jacksonized;
 @Getter
 @Setter
 @Builder
+@EqualsAndHashCode
 @NoArgsConstructor
 @AllArgsConstructor
 @Jacksonized
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/Operator.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/Operator.java
index bbd994fa7ec05d775ba8a7c2eebb1ece418d2726..1ecedc5e16cef533008a28db7d022acab336c8d7 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/Operator.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/Operator.java
@@ -9,11 +9,11 @@ import static jakarta.persistence.GenerationType.IDENTITY;
 @Data
 @Entity
 @Builder
+@EqualsAndHashCode
 @ToString
 @AllArgsConstructor
 @NoArgsConstructor
 @EntityListeners(AuditingEntityListener.class)
-@EqualsAndHashCode
 @Table(name = "mdb_image_operators")
 public class Operator {
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java
index 079aac84c7d191f71d29657c6837a6ae9f545bab..6a2622be3e7137c97b68ab9ad91e24edd4fae293 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java
@@ -33,6 +33,7 @@ public class DatabaseAccess {
     private UUID huserid;
 
     @ToString.Exclude
+    @EqualsAndHashCode.Exclude
     @org.springframework.data.annotation.Transient
     @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/user/User.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/user/User.java
index bc17ab9bc925cd92954c05bd10aa56457dd730e4..fd87852c6ecce0e2e614a9c7dd05a5e41cfe2e16 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/user/User.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/user/User.java
@@ -52,6 +52,7 @@ public class User {
     private String language;
 
     @OneToMany(fetch = FetchType.LAZY)
+    @EqualsAndHashCode.Exclude
     @JoinColumns({
             @JoinColumn(name = "user_id", referencedColumnName = "ID", insertable = false, updatable = false)
     })
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
index c2de8a0f52b2bc6834862fded7a6f4d739b76138..fe8e4385e2857be757ebc72904ef76c988b8fa57 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
@@ -236,8 +236,6 @@ public interface MetadataMapper {
     })
     DataCiteDoiRelatedIdentifier relatedIdentifierToDoiRelatedIdentifier(RelatedIdentifier relatedIdentifier);
 
-    Date instantToDate(Instant data);
-
     @Mappings({
             @Mapping(target = "givenNames", source = "person.name.givenNames.value"),
             @Mapping(target = "familyName", source = "person.name.familyName.value"),
@@ -721,9 +719,7 @@ public interface MetadataMapper {
     @Mappings({
             @Mapping(target = "tableId", source = "table.id"),
             @Mapping(target = "databaseId", source = "table.database.id"),
-            @Mapping(target = "description", source = "description"),
-            @Mapping(target = "table", ignore = true),
-            @Mapping(target = "views", ignore = true)
+            @Mapping(target = "description", source = "description")
     })
     ColumnDto tableColumnToColumnDto(TableColumn data);
 
@@ -785,6 +781,7 @@ public interface MetadataMapper {
             @Mapping(target = "attributes.orcid", source = "orcid"),
             @Mapping(target = "attributes.affiliation", source = "affiliation"),
             @Mapping(target = "attributes.theme", source = "theme"),
+            @Mapping(target = "attributes.mariadbPassword", source = "mariadbPassword"),
             @Mapping(target = "name", expression = "java(userToFullName(data))"),
             @Mapping(target = "qualifiedName", expression = "java(userToQualifiedName(data))"),
     })
@@ -825,9 +822,6 @@ public interface MetadataMapper {
                 .trim();
     }
 
-    @Mappings({
-            @Mapping(target = "database.views", ignore = true)
-    })
     ViewDto viewToViewDto(View data);
 
     @Mappings({
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
index 9b3379523c9fc887124765a5598c1ee6a5600e86..793cf45a8d6a51cb51018b4affaf63054f96bab3 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
@@ -76,8 +76,7 @@ public class DatabaseEndpoint extends AbstractEndpoint {
                             array = @ArraySchema(schema = @Schema(implementation = DatabaseDto.class)))}),
     })
     public ResponseEntity<List<DatabaseBriefDto>> list(@RequestParam(name = "internal_name", required = false) String internalName,
-                                                       Principal principal) throws UserNotFoundException,
-            DatabaseNotFoundException {
+                                                       Principal principal) {
         log.debug("endpoint list databases, internalName={}", internalName);
         final List<Database> databases;
         if (principal != null) {
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java
index 4f49904baadd4d97a2e9123b931bfd0cd6b88615..b8952b5c56f034511f9040654096e4103c44dbce 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java
@@ -71,8 +71,7 @@ public class UserEndpoint extends AbstractEndpoint {
                             mediaType = "application/json",
                             array = @ArraySchema(schema = @Schema(implementation = UserBriefDto.class)))}),
     })
-    public ResponseEntity<List<UserBriefDto>> findAll(@RequestParam(required = false) String username)
-            throws UserNotFoundException {
+    public ResponseEntity<List<UserBriefDto>> findAll(@RequestParam(required = false) String username) {
         log.debug("endpoint find all users, username={}", username);
         if (username == null) {
             return ResponseEntity.ok(userService.findAll()
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
index 2d4fa435062789e6b43e6c0fd28189c76061df25..9b778e67fb3243e238053972add0f3522c07b9d6 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
@@ -1,7 +1,10 @@
 package at.tuwien.mapper;
 
 import at.tuwien.api.database.DatabaseDto;
+import at.tuwien.api.database.ViewBriefDto;
 import at.tuwien.api.database.ViewDto;
+import at.tuwien.api.database.table.TableBriefDto;
+import at.tuwien.api.identifier.IdentifierDto;
 import at.tuwien.api.identifier.IdentifierTypeDto;
 import at.tuwien.api.user.UserBriefDto;
 import at.tuwien.api.user.UserDto;
@@ -133,16 +136,92 @@ public class MetadataMapperUnitTest extends AbstractUnitTest {
     public void userToUserDto_succeeds() {
 
         /* test */
-        final UserDto response = metadataMapper.userToUserDto(USER_1);
-        assertEquals(USER_1_DTO, response);
+        assertEquals(USER_1_DTO, metadataMapper.userToUserDto(USER_1));
+        assertEquals(USER_2_DTO, metadataMapper.userToUserDto(USER_2));
+        assertEquals(USER_3_DTO, metadataMapper.userToUserDto(USER_3));
+        assertEquals(USER_4_DTO, metadataMapper.userToUserDto(USER_4));
+        assertEquals(USER_5_DTO, metadataMapper.userToUserDto(USER_5));
+    }
+
+    @Test
+    public void identifierToIdentifierDto_succeeds() {
+
+        /* test */
+        assertEquals(IDENTIFIER_1_DTO, metadataMapper.identifierToIdentifierDto(IDENTIFIER_1));
+        assertEquals(IDENTIFIER_2_DTO, metadataMapper.identifierToIdentifierDto(IDENTIFIER_2));
+        assertEquals(IDENTIFIER_3_DTO, metadataMapper.identifierToIdentifierDto(IDENTIFIER_3));
+        assertEquals(IDENTIFIER_4_DTO, metadataMapper.identifierToIdentifierDto(IDENTIFIER_4));
+        assertEquals(IDENTIFIER_5_DTO, metadataMapper.identifierToIdentifierDto(IDENTIFIER_5));
+        assertEquals(IDENTIFIER_6_DTO, metadataMapper.identifierToIdentifierDto(IDENTIFIER_6));
+        assertEquals(IDENTIFIER_7_DTO, metadataMapper.identifierToIdentifierDto(IDENTIFIER_7));
     }
 
     @Test
     public void viewToViewDto_succeeds() {
 
         /* test */
-        final ViewDto response = metadataMapper.viewToViewDto(VIEW_1);
-        assertEquals(VIEW_1_DTO, response);
+        assertEquals(VIEW_1_DTO, metadataMapper.viewToViewDto(VIEW_1));
+        assertEquals(VIEW_2_DTO, metadataMapper.viewToViewDto(VIEW_2));
+        assertEquals(VIEW_3_DTO, metadataMapper.viewToViewDto(VIEW_3));
+        assertEquals(VIEW_4_DTO, metadataMapper.viewToViewDto(VIEW_4));
+        assertEquals(VIEW_5_DTO, metadataMapper.viewToViewDto(VIEW_5));
+    }
+
+    @Test
+    public void tableToTableBriefDto_succeeds() {
+
+        /* test */
+        assertEquals(TABLE_1_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_1));
+        assertEquals(TABLE_2_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_2));
+        assertEquals(TABLE_3_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_3));
+        assertEquals(TABLE_4_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_4));
+        assertEquals(TABLE_5_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_5));
+        assertEquals(TABLE_6_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_6));
+        assertEquals(TABLE_7_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_7));
+        assertEquals(TABLE_8_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_8));
+        assertEquals(TABLE_9_BRIEF_DTO, metadataMapper.tableToTableBriefDto(TABLE_9));
+    }
+
+    @Test
+    public void containerToContainerBriefDto_succeeds() {
+
+        /* test */
+        assertEquals(CONTAINER_1_BRIEF_DTO, metadataMapper.containerToContainerBriefDto(CONTAINER_1));
+    }
+
+    @Test
+    public void bannerMessageToBannerMessageDto_succeeds() {
+
+        /* test */
+        assertEquals(BANNER_MESSAGE_1_DTO, metadataMapper.bannerMessageToBannerMessageDto(BANNER_MESSAGE_1));
+    }
+
+    @Test
+    public void containerImageToImageBriefDto_succeeds() {
+
+        /* test */
+        assertEquals(IMAGE_1_BRIEF_DTO, metadataMapper.containerImageToImageBriefDto(IMAGE_1));
+    }
+
+    @Test
+    public void containerImageToImageDto_succeeds() {
+
+        /* test */
+        assertEquals(IMAGE_1_DTO, metadataMapper.containerImageToImageDto(IMAGE_1));
+    }
+
+    @Test
+    public void ontologyToOntologyBriefDto_succeeds() {
+
+        /* test */
+        assertEquals(ONTOLOGY_1_BRIEF_DTO, metadataMapper.ontologyToOntologyBriefDto(ONTOLOGY_1));
+    }
+
+    @Test
+    public void ontologyToOntologyDto_succeeds() {
+
+        /* test */
+        assertEquals(ONTOLOGY_1_DTO, metadataMapper.ontologyToOntologyDto(ONTOLOGY_1));
     }
 
 }
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
index c37739e7e7dd8097222d22c8a7f172a8bacb4416..61121a4b04791955834744ecb05204841551fa12 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
+++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
@@ -11,6 +11,7 @@ import java.util.List;
 public abstract class AbstractUnitTest extends BaseTest {
 
     public void genesis() {
+        IMAGE_1_DTO.setOperators(IMAGE_1_OPERATORS_DTO);
         CONTAINER_1_PRIVILEGED_DTO.setImage(IMAGE_1_DTO);
         IMAGE_1.setOperators(new LinkedList<>(IMAGE_1_OPERATORS));
         CONTAINER_1.setDatabases(new LinkedList<>(List.of(DATABASE_1, DATABASE_2, DATABASE_3)));
@@ -41,7 +42,6 @@ public abstract class AbstractUnitTest extends BaseTest {
         TABLE_1.setConstraints(TABLE_1_CONSTRAINTS);
         TABLE_1_PRIVILEGED_DTO.setColumns(new LinkedList<>(TABLE_1_COLUMNS_DTO));
         TABLE_1_PRIVILEGED_DTO.setDatabase(DATABASE_1_PRIVILEGED_DTO);
-        VIEW_1_DTO.setDatabase(DATABASE_1_DTO);
         VIEW_1_DTO.setIdentifiers(VIEW_1_DTO_IDENTIFIERS);
         DATABASE_1.setIdentifiers(new LinkedList<>(List.of(IDENTIFIER_1, IDENTIFIER_2, IDENTIFIER_3, IDENTIFIER_4)));
         IDENTIFIER_1.setDatabase(DATABASE_1);
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
index ee38a1d6b06ac386defb773badcbb30810aeb59b..9980b6dd2ba49cc0149d1acc2f6e26e1c25a5e31 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
+++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
@@ -10,10 +10,7 @@ import at.tuwien.api.auth.RefreshTokenRequestDto;
 import at.tuwien.api.auth.SignupRequestDto;
 import at.tuwien.api.container.ContainerBriefDto;
 import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.container.image.ImageBriefDto;
-import at.tuwien.api.container.image.ImageChangeDto;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.api.container.image.ImageDto;
+import at.tuwien.api.container.image.*;
 import at.tuwien.api.container.internal.PrivilegedContainerDto;
 import at.tuwien.api.database.*;
 import at.tuwien.api.database.internal.CreateDatabaseDto;
@@ -26,10 +23,7 @@ import at.tuwien.api.database.table.TableCreateDto;
 import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.database.table.TableStatisticDto;
 import at.tuwien.api.database.table.columns.*;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import at.tuwien.api.database.table.columns.concepts.ConceptSaveDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
-import at.tuwien.api.database.table.columns.concepts.UnitSaveDto;
+import at.tuwien.api.database.table.columns.concepts.*;
 import at.tuwien.api.database.table.constraints.ConstraintsCreateDto;
 import at.tuwien.api.database.table.constraints.ConstraintsDto;
 import at.tuwien.api.database.table.constraints.foreign.*;
@@ -42,6 +36,7 @@ import at.tuwien.api.datacite.doi.DataCiteDoi;
 import at.tuwien.api.identifier.*;
 import at.tuwien.api.keycloak.*;
 import at.tuwien.api.maintenance.BannerMessageCreateDto;
+import at.tuwien.api.maintenance.BannerMessageDto;
 import at.tuwien.api.maintenance.BannerMessageTypeDto;
 import at.tuwien.api.maintenance.BannerMessageUpdateDto;
 import at.tuwien.api.orcid.OrcidDto;
@@ -54,9 +49,7 @@ import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.orga
 import at.tuwien.api.orcid.person.OrcidPersonDto;
 import at.tuwien.api.orcid.person.name.OrcidNameDto;
 import at.tuwien.api.orcid.person.name.OrcidValueDto;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyModifyDto;
+import at.tuwien.api.semantics.*;
 import at.tuwien.api.user.UserAttributesDto;
 import at.tuwien.api.user.UserDto;
 import at.tuwien.api.user.*;
@@ -316,6 +309,13 @@ public abstract class BaseTest {
             .description(CONCEPT_1_DESCRIPTION)
             .build();
 
+    public final static ConceptBriefDto CONCEPT_1_BRIEF_DTO = ConceptBriefDto.builder()
+            .id(CONCEPT_1_ID)
+            .uri(CONCEPT_1_URI)
+            .name(CONCEPT_1_NAME)
+            .description(CONCEPT_1_DESCRIPTION)
+            .build();
+
     public final static TableColumnConcept CONCEPT_1 = TableColumnConcept.builder()
             .id(CONCEPT_1_ID)
             .uri(CONCEPT_1_URI)
@@ -349,6 +349,13 @@ public abstract class BaseTest {
             .description(CONCEPT_2_DESCRIPTION)
             .build();
 
+    public final static ConceptBriefDto CONCEPT_2_BRIEF_DTO = ConceptBriefDto.builder()
+            .id(CONCEPT_2_ID)
+            .uri(CONCEPT_2_URI)
+            .name(CONCEPT_2_NAME)
+            .description(CONCEPT_2_DESCRIPTION)
+            .build();
+
     public final static TableColumnConcept CONCEPT_2 = TableColumnConcept.builder()
             .id(CONCEPT_2_ID)
             .uri(CONCEPT_2_URI)
@@ -376,6 +383,13 @@ public abstract class BaseTest {
             .description(UNIT_1_DESCRIPTION)
             .build();
 
+    public final static UnitBriefDto UNIT_1_BRIEF_DTO = UnitBriefDto.builder()
+            .id(UNIT_1_ID)
+            .uri(UNIT_1_URI)
+            .name(UNIT_1_NAME)
+            .description(UNIT_1_DESCRIPTION)
+            .build();
+
     public final static TableColumnUnit UNIT_1 = TableColumnUnit.builder()
             .id(UNIT_1_ID)
             .uri(UNIT_1_URI)
@@ -409,6 +423,13 @@ public abstract class BaseTest {
             .description(UNIT_2_DESCRIPTION)
             .build();
 
+    public final static UnitBriefDto UNIT_2_BRIEF_DTO = UnitBriefDto.builder()
+            .id(UNIT_2_ID)
+            .uri(UNIT_2_URI)
+            .name(UNIT_2_NAME)
+            .description(UNIT_2_DESCRIPTION)
+            .build();
+
     public final static TableColumnUnit UNIT_2 = TableColumnUnit.builder()
             .id(UNIT_2_ID)
             .uri(UNIT_2_URI)
@@ -637,7 +658,7 @@ public abstract class BaseTest {
     public final static String USER_2_PASSWORD = "junit2";
     @SuppressWarnings("java:S2068")
     public final static String USER_2_DATABASE_PASSWORD = "*9AA70A8B0EEFAFCB5BED5BDEF6EE264D5DA915AE" /* junit2 */;
-    public final static String USER_2_QUALIFIED_NAME = "@" + USER_2_USERNAME + " — " + USER_2_FIRSTNAME + " " + USER_2_LASTNAME;
+    public final static String USER_2_QUALIFIED_NAME = USER_2_FIRSTNAME + " " + USER_2_LASTNAME + " — @" + USER_2_USERNAME;
     public final static Boolean USER_2_VERIFIED = true;
     public final static Boolean USER_2_TOTP = false;
     public final static Long USER_2_NOT_BEFORE = 0L;
@@ -687,6 +708,7 @@ public abstract class BaseTest {
             .firstname(USER_2_FIRSTNAME)
             .lastname(USER_2_LASTNAME)
             .name(USER_2_NAME)
+            .orcid(USER_2_ORCID_URL)
             .qualifiedName(USER_2_QUALIFIED_NAME)
             .build();
 
@@ -746,7 +768,7 @@ public abstract class BaseTest {
     public final static String USER_3_PASSWORD = "password";
     @SuppressWarnings("java:S2068")
     public final static String USER_3_DATABASE_PASSWORD = "*D65FCA043964B63E849DD6334699ECB065905DA4" /* junit3 */;
-    public final static String USER_3_QUALIFIED_NAME = "@" + USER_3_USERNAME + " — " + USER_3_FIRSTNAME + " " + USER_3_LASTNAME;
+    public final static String USER_3_QUALIFIED_NAME = USER_3_FIRSTNAME + " " + USER_3_LASTNAME + " — @" + USER_3_USERNAME;
     public final static Boolean USER_3_VERIFIED = true;
     public final static Boolean USER_3_TOTP = false;
     public final static Long USER_3_NOT_BEFORE = 0L;
@@ -782,6 +804,8 @@ public abstract class BaseTest {
             .firstname(USER_3_FIRSTNAME)
             .lastname(USER_3_LASTNAME)
             .name(USER_3_NAME)
+            .qualifiedName(USER_3_QUALIFIED_NAME)
+            .attributes(USER_3_ATTRIBUTES_DTO)
             .build();
 
     public final static UserBriefDto USER_3_BRIEF_DTO = UserBriefDto.builder()
@@ -790,6 +814,7 @@ public abstract class BaseTest {
             .firstname(USER_3_FIRSTNAME)
             .lastname(USER_3_LASTNAME)
             .name(USER_3_NAME)
+            .qualifiedName(USER_3_QUALIFIED_NAME)
             .build();
 
     public final static UserDetails USER_3_DETAILS = UserDetailsDto.builder()
@@ -840,7 +865,7 @@ public abstract class BaseTest {
     public final static String USER_4_PASSWORD = "junit4";
     @SuppressWarnings("java:S2068")
     public final static String USER_4_DATABASE_PASSWORD = "*C20EF5C6875857DEFA9BE6E9B62DD76AAAE51882" /* junit4 */;
-    public final static String USER_4_QUALIFIED_NAME = "@" + USER_4_USERNAME + " — " + USER_4_FIRSTNAME + " " + USER_4_LASTNAME;
+    public final static String USER_4_QUALIFIED_NAME = USER_4_FIRSTNAME + " " + USER_4_LASTNAME + " — @" + USER_4_USERNAME;
     public final static String USER_4_EMAIL = "junit4@ossdip.at";
     public final static Boolean USER_4_VERIFIED = true;
     public final static Boolean USER_4_ENABLED = true;
@@ -874,7 +899,9 @@ public abstract class BaseTest {
             .username(USER_4_USERNAME)
             .firstname(USER_4_FIRSTNAME)
             .lastname(USER_4_LASTNAME)
+            .name(USER_4_NAME)
             .attributes(USER_4_ATTRIBUTES_DTO)
+            .qualifiedName(USER_4_QUALIFIED_NAME)
             .build();
 
     public final static UserBriefDto USER_4_BRIEF_DTO = UserBriefDto.builder()
@@ -882,6 +909,8 @@ public abstract class BaseTest {
             .username(USER_4_USERNAME)
             .firstname(USER_4_FIRSTNAME)
             .lastname(USER_4_LASTNAME)
+            .name(USER_4_NAME)
+            .qualifiedName(USER_4_QUALIFIED_NAME)
             .build();
 
     public final static UserDetails USER_4_DETAILS = UserDetailsDto.builder()
@@ -908,17 +937,17 @@ public abstract class BaseTest {
 
     public final static UUID USER_5_ID = UUID.fromString("28ff851d-d7bc-4422-959c-edd7a5b15630");
     public final static UUID USER_5_LDAP_ID = UUID.fromString("28ff851d-d7bc-4422-959c-edd7a5b15630");
-    public final static String USER_5_USERNAME = "system";
-    public final static String USER_5_FIRSTNAME = "System";
-    public final static String USER_5_LASTNAME = "System";
-    public final static String USER_5_NAME = "System System";
+    public final static String USER_5_USERNAME = "nobody";
+    public final static String USER_5_FIRSTNAME = "No";
+    public final static String USER_5_LASTNAME = "Body";
+    public final static String USER_5_NAME = "No Body";
     public final static String USER_5_AFFILIATION = "TU Wien";
     public final static String USER_5_ORCID = null;
     @SuppressWarnings("java:S2068")
     public final static String USER_5_PASSWORD = "junit5";
     @SuppressWarnings("java:S2068")
     public final static String USER_5_DATABASE_PASSWORD = "*C20EF5C6875857DEFA9BE6E9B62DD76AAAE51882" /* junit5 */;
-    public final static String USER_5_QUALIFIED_NAME = "@" + USER_5_USERNAME + " — " + USER_5_FIRSTNAME + " " + USER_5_LASTNAME;
+    public final static String USER_5_QUALIFIED_NAME = USER_5_FIRSTNAME + " " + USER_5_LASTNAME + " — @" + USER_5_USERNAME;
     public final static String USER_5_EMAIL = "system@ossdip.at";
     public final static Boolean USER_5_VERIFIED = true;
     public final static Boolean USER_5_ENABLED = true;
@@ -938,6 +967,7 @@ public abstract class BaseTest {
             .username(USER_5_USERNAME)
             .firstname(USER_5_FIRSTNAME)
             .lastname(USER_5_LASTNAME)
+            .name(USER_5_NAME)
             .qualifiedName(USER_5_QUALIFIED_NAME)
             .attributes(USER_5_ATTRIBUTES_DTO)
             .build();
@@ -1059,6 +1089,7 @@ public abstract class BaseTest {
             .driverClass(IMAGE_1_DRIVER)
             .defaultPort(IMAGE_1_PORT)
             .isDefault(IMAGE_1_IS_DEFAULT)
+            .operators(new LinkedList<>()) /* IMAGE_1_OPERATORS */
             .build();
 
     public final static ImageDto IMAGE_1_DTO = ImageDto.builder()
@@ -1071,6 +1102,7 @@ public abstract class BaseTest {
             .driverClass(IMAGE_1_DRIVER)
             .defaultPort(IMAGE_1_PORT)
             .isDefault(IMAGE_1_IS_DEFAULT)
+            .operators(null)
             .build();
 
     public final static ImageBriefDto IMAGE_1_BRIEF_DTO = ImageBriefDto.builder()
@@ -1081,14 +1113,27 @@ public abstract class BaseTest {
             .jdbcMethod(IMAGE_1_JDBC)
             .build();
 
-    public final static List<Operator> IMAGE_1_OPERATORS = List.of(
+    public final static Long IMAGE_1_OPERATORS_1_ID = 1L;
+    public final static String IMAGE_1_OPERATORS_1_DISPLAY_NAME = "XOR";
+    public final static String IMAGE_1_OPERATORS_1_VALUE = "XOR";
+    public final static String IMAGE_1_OPERATORS_1_DOCUMENTATION = "https://mariadb.com/kb/en/xor/";
+
+    public final static List<Operator> IMAGE_1_OPERATORS = new LinkedList<>(List.of(
             Operator.builder()
-                    .id(1L)
+                    .id(IMAGE_1_OPERATORS_1_ID)
                     .image(IMAGE_1)
-                    .displayName("XOR")
-                    .value("XOR")
-                    .documentation("https://mariadb.com/kb/en/xor/")
-                    .build());
+                    .displayName(IMAGE_1_OPERATORS_1_DISPLAY_NAME)
+                    .value(IMAGE_1_OPERATORS_1_VALUE)
+                    .documentation(IMAGE_1_OPERATORS_1_DOCUMENTATION)
+                    .build()));
+
+    public final static List<OperatorDto> IMAGE_1_OPERATORS_DTO = new LinkedList<>(List.of(
+            OperatorDto.builder()
+                    .id(IMAGE_1_OPERATORS_1_ID)
+                    .displayName(IMAGE_1_OPERATORS_1_DISPLAY_NAME)
+                    .value(IMAGE_1_OPERATORS_1_VALUE)
+                    .documentation(IMAGE_1_OPERATORS_1_DOCUMENTATION)
+                    .build()));
 
     public final static Long CONTAINER_1_ID = 1L;
     public final static ContainerImage CONTAINER_1_IMAGE = IMAGE_1;
@@ -1636,12 +1681,11 @@ public abstract class BaseTest {
 
     public final static List<ColumnDto> TABLE_1_COLUMNS_DTO = List.of(ColumnDto.builder()
                     .id(1L)
-                    .table(TABLE_1_DTO)
                     .tableId(TABLE_1_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(0)
                     .name("id")
                     .internalName("id")
-                    .ordinalPosition(0)
                     .columnType(ColumnTypeDto.SERIAL)
                     .isNullAllowed(false)
                     .enums(null)
@@ -1649,12 +1693,11 @@ public abstract class BaseTest {
                     .build(),
             ColumnDto.builder()
                     .id(2L)
-                    .table(TABLE_1_DTO)
                     .tableId(TABLE_1_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(1)
                     .name("Date")
                     .internalName("date")
-                    .ordinalPosition(1)
                     .columnType(ColumnTypeDto.DATE)
                     .isNullAllowed(true)
                     .enums(null)
@@ -1662,12 +1705,11 @@ public abstract class BaseTest {
                     .build(),
             ColumnDto.builder()
                     .id(3L)
-                    .table(TABLE_1_DTO)
                     .tableId(TABLE_1_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(2)
                     .name("Location")
                     .internalName("location")
-                    .ordinalPosition(2)
                     .columnType(ColumnTypeDto.VARCHAR)
                     .size(255L)
                     .isNullAllowed(true)
@@ -1676,12 +1718,11 @@ public abstract class BaseTest {
                     .build(),
             ColumnDto.builder()
                     .id(4L)
-                    .table(TABLE_1_DTO)
                     .tableId(TABLE_1_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(3)
                     .name("MinTemp")
                     .internalName("mintemp")
-                    .ordinalPosition(3)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -1691,17 +1732,16 @@ public abstract class BaseTest {
                     .build(),
             ColumnDto.builder()
                     .id(5L)
-                    .table(TABLE_1_DTO)
                     .tableId(TABLE_1_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(4)
                     .name("Rainfall")
                     .internalName("rainfall")
-                    .ordinalPosition(4)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
-                    .concept(CONCEPT_1_DTO)
-                    .unit(UNIT_1_DTO)
+                    .concept(CONCEPT_1_BRIEF_DTO)
+                    .unit(UNIT_1_BRIEF_DTO)
                     .isNullAllowed(true)
                     .enums(null)
                     .sets(null)
@@ -1709,6 +1749,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_1_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_1_ID)
+            .databaseId(DATABASE_1_ID)
             .internalName(TABLE_1_INTERNAL_NAME)
             .isVersioned(TABLE_1_VERSIONED)
             .isPublic(TABLE_1_IS_PUBLIC)
@@ -1829,6 +1870,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_2_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_2_ID)
+            .databaseId(DATABASE_1_ID)
             .internalName(TABLE_2_INTERNALNAME)
             .isVersioned(TABLE_2_VERSIONED)
             .isPublic(TABLE_2_IS_PUBLIC)
@@ -1900,6 +1942,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_3_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_3_ID)
+            .databaseId(DATABASE_1_ID)
             .internalName(TABLE_3_INTERNALNAME)
             .isVersioned(TABLE_3_VERSIONED)
             .isPublic(TABLE_3_IS_PUBLIC)
@@ -2018,6 +2061,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_5_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_5_ID)
+            .databaseId(DATABASE_2_ID)
             .internalName(TABLE_5_INTERNALNAME)
             .isVersioned(TABLE_5_VERSIONED)
             .isPublic(TABLE_5_IS_PUBLIC)
@@ -2077,6 +2121,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_6_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_6_ID)
+            .databaseId(DATABASE_2_ID)
             .internalName(TABLE_6_INTERNALNAME)
             .isVersioned(TABLE_6_VERSIONED)
             .isPublic(TABLE_6_IS_PUBLIC)
@@ -2136,6 +2181,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_7_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_7_ID)
+            .databaseId(DATABASE_2_ID)
             .internalName(TABLE_7_INTERNAL_NAME)
             .isVersioned(TABLE_7_VERSIONED)
             .isPublic(TABLE_7_IS_PUBLIC)
@@ -2207,6 +2253,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_4_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_4_ID)
+            .databaseId(DATABASE_1_ID)
             .internalName(TABLE_4_INTERNALNAME)
             .description(TABLE_4_DESCRIPTION)
             .name(TABLE_4_NAME)
@@ -2349,6 +2396,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_8_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_8_ID)
+            .databaseId(DATABASE_3_ID)
             .internalName(TABLE_8_INTERNAL_NAME)
             .description(TABLE_8_DESCRIPTION)
             .isVersioned(TABLE_8_VERSIONED)
@@ -2424,6 +2472,7 @@ public abstract class BaseTest {
 
     public final static TableBriefDto TABLE_9_BRIEF_DTO = TableBriefDto.builder()
             .id(TABLE_9_ID)
+            .databaseId(DATABASE_4_ID)
             .internalName(TABLE_9_INTERNAL_NAME)
             .description(TABLE_9_DESCRIPTION)
             .isVersioned(TABLE_9_VERSIONED)
@@ -2470,7 +2519,6 @@ public abstract class BaseTest {
                     .table(TABLE_9)
                     .name(COLUMN_9_1_NAME)
                     .internalName(COLUMN_9_1_INTERNAL_NAME)
-                    .ordinalPosition(0)
                     .columnType(TableColumnType.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
@@ -2483,7 +2531,6 @@ public abstract class BaseTest {
                     .table(TABLE_9)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -2497,7 +2544,6 @@ public abstract class BaseTest {
                     .table(TABLE_9)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -2509,10 +2555,8 @@ public abstract class BaseTest {
     public final static List<ColumnDto> TABLE_9_COLUMNS_DTO = List.of(ColumnDto.builder()
                     .id(COLUMN_9_1_ID)
                     .ordinalPosition(0)
-                    .table(TABLE_9_DTO)
                     .name(COLUMN_9_1_NAME)
                     .internalName(COLUMN_9_1_INTERNAL_NAME)
-                    .ordinalPosition(0)
                     .columnType(ColumnTypeDto.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
@@ -2522,10 +2566,8 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_9_2_ID)
                     .ordinalPosition(1)
-                    .table(TABLE_9_DTO)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -2536,10 +2578,8 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_9_3_ID)
                     .ordinalPosition(2)
-                    .table(TABLE_9_DTO)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -2592,7 +2632,9 @@ public abstract class BaseTest {
     public final static String ONTOLOGY_1_URI = "http://www.ontology-of-units-of-measure.org/resource/om-2/";
     public final static String ONTOLOGY_1_URI_PATTERN = "http://www.ontology-of-units-of-measure.org/resource/om-2/.*";
     public final static String ONTOLOGY_1_SPARQL_ENDPOINT = null;
+    public final static Boolean ONTOLOGY_1_SPARQL = false;
     public final static String ONTOLOGY_1_RDF_PATH = "rdf/om-2.0.rdf";
+    public final static Boolean ONTOLOGY_1_RDF = true;
     public final static UUID ONTOLOGY_1_CREATED_BY = USER_1_ID;
 
     public final static Ontology ONTOLOGY_1 = Ontology.builder()
@@ -2604,6 +2646,26 @@ public abstract class BaseTest {
             .rdfPath(ONTOLOGY_1_RDF_PATH)
             .build();
 
+    public final static OntologyDto ONTOLOGY_1_DTO = OntologyDto.builder()
+            .id(ONTOLOGY_1_ID)
+            .prefix(ONTOLOGY_1_PREFIX)
+            .uri(ONTOLOGY_1_URI)
+            .uriPattern(ONTOLOGY_1_URI_PATTERN)
+            .sparqlEndpoint(ONTOLOGY_1_SPARQL_ENDPOINT)
+            .sparql(ONTOLOGY_1_SPARQL)
+            .rdfPath(ONTOLOGY_1_RDF_PATH)
+            .rdf(ONTOLOGY_1_RDF)
+            .build();
+
+    public final static OntologyBriefDto ONTOLOGY_1_BRIEF_DTO = OntologyBriefDto.builder()
+            .id(ONTOLOGY_1_ID)
+            .prefix(ONTOLOGY_1_PREFIX)
+            .uri(ONTOLOGY_1_URI)
+            .uriPattern(ONTOLOGY_1_URI_PATTERN)
+            .sparql(ONTOLOGY_1_SPARQL)
+            .rdf(ONTOLOGY_1_RDF)
+            .build();
+
     public final static OntologyCreateDto ONTOLOGY_1_CREATE_DTO = OntologyCreateDto.builder()
             .prefix(ONTOLOGY_1_PREFIX)
             .uri(ONTOLOGY_1_URI)
@@ -2761,7 +2823,6 @@ public abstract class BaseTest {
     public final static List<ColumnDto> TABLE_8_COLUMNS_DTO = List.of(ColumnDto.builder()
                     .id(COLUMN_8_1_ID)
                     .ordinalPosition(COLUMN_8_1_ORDINALPOS)
-                    .table(TABLE_8_DTO)
                     .name(COLUMN_8_1_NAME)
                     .internalName(COLUMN_8_1_INTERNAL_NAME)
                     .columnType(COLUMN_8_1_TYPE_DTO)
@@ -2770,7 +2831,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_8_2_ID)
                     .ordinalPosition(COLUMN_8_2_ORDINALPOS)
-                    .table(TABLE_8_DTO)
                     .name(COLUMN_8_2_NAME)
                     .internalName(COLUMN_8_2_INTERNAL_NAME)
                     .columnType(COLUMN_8_2_TYPE_DTO)
@@ -2779,7 +2839,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_8_3_ID)
                     .ordinalPosition(COLUMN_8_3_ORDINALPOS)
-                    .table(TABLE_8_DTO)
                     .name(COLUMN_8_3_NAME)
                     .internalName(COLUMN_8_3_INTERNAL_NAME)
                     .columnType(COLUMN_8_3_TYPE_DTO)
@@ -3190,7 +3249,6 @@ public abstract class BaseTest {
                     .table(TABLE_2)
                     .name("location")
                     .internalName("location")
-                    .ordinalPosition(0)
                     .columnType(TableColumnType.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
@@ -3203,7 +3261,6 @@ public abstract class BaseTest {
                     .table(TABLE_2)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -3217,7 +3274,6 @@ public abstract class BaseTest {
                     .table(TABLE_2)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -3242,12 +3298,11 @@ public abstract class BaseTest {
 
     public final static List<ColumnDto> TABLE_2_COLUMNS_DTO = List.of(ColumnDto.builder()
                     .id(COLUMN_2_1_ID)
-                    .table(TABLE_2_DTO)
                     .tableId(TABLE_2_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(0)
                     .name("location")
                     .internalName("location")
-                    .ordinalPosition(0)
                     .columnType(ColumnTypeDto.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
@@ -3256,12 +3311,11 @@ public abstract class BaseTest {
                     .build(),
             ColumnDto.builder()
                     .id(COLUMN_2_2_ID)
-                    .table(TABLE_2_DTO)
                     .tableId(TABLE_2_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(1)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(ColumnTypeDto.DOUBLE)
                     .size(22L)
                     .isNullAllowed(true)
@@ -3270,12 +3324,11 @@ public abstract class BaseTest {
                     .build(),
             ColumnDto.builder()
                     .id(COLUMN_2_3_ID)
-                    .table(TABLE_2_DTO)
                     .tableId(TABLE_2_ID)
                     .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(2)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(ColumnTypeDto.DOUBLE)
                     .size(22L)
                     .isNullAllowed(true)
@@ -3749,7 +3802,6 @@ public abstract class BaseTest {
     public final static List<ColumnDto> TABLE_3_COLUMNS_DTO = List.of(ColumnDto.builder()
                     .id(COLUMN_3_1_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.BIGINT)
                     .name("id")
@@ -3761,7 +3813,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_2_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("linie")
@@ -3773,7 +3824,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_3_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("richtung")
@@ -3785,7 +3835,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_4_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.DATE)
                     .name("betriebsdatum")
@@ -3797,7 +3846,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_5_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("fahrzeug")
@@ -3809,7 +3857,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_6_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("kurs")
@@ -3821,7 +3868,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_7_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("seq_von")
@@ -3833,7 +3879,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_8_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_diva_von")
@@ -3845,7 +3890,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_9_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_punkt_diva_von")
@@ -3857,7 +3901,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_10_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_kurz_von1")
@@ -3869,7 +3912,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_11_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.DATE)
                     .name("datum_von")
@@ -3881,7 +3923,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_12_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("soll_an_von")
@@ -3893,7 +3934,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_13_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("ist_an_von")
@@ -3905,7 +3945,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_14_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("soll_ab_von")
@@ -3917,7 +3956,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_15_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("ist_ab_von")
@@ -3929,7 +3967,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_16_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("seq_nach")
@@ -3941,7 +3978,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_17_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_diva_nach")
@@ -3953,7 +3989,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_18_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_punkt_diva_nach")
@@ -3965,7 +4000,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_19_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_kurz_nach1")
@@ -3977,7 +4011,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_20_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.DATE)
                     .name("datum_nach")
@@ -3989,7 +4022,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_21_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("soll_an_nach")
@@ -4001,7 +4033,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_22_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("ist_an_nach1")
@@ -4013,7 +4044,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_23_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("soll_ab_nach")
@@ -4025,7 +4055,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_24_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("ist_ab_nach")
@@ -4037,7 +4066,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_25_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("fahrt_id")
@@ -4049,7 +4077,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_26_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("fahrweg_id")
@@ -4061,7 +4088,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_27_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("fw_no")
@@ -4073,7 +4099,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_28_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("fw_typ")
@@ -4085,7 +4110,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_29_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("fw_kurz")
@@ -4097,7 +4121,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_30_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("fw_lang")
@@ -4109,7 +4132,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_31_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("umlauf_von")
@@ -4121,7 +4143,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_32_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_id_von")
@@ -4133,7 +4154,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_33_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_id_nach")
@@ -4145,7 +4165,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_34_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_punkt_id_von")
@@ -4157,7 +4176,6 @@ public abstract class BaseTest {
             ColumnDto.builder()
                     .id(COLUMN_3_35_ID)
                     .tableId(TABLE_3_ID)
-                    .table(TABLE_3_DTO)
                     .databaseId(DATABASE_1_ID)
                     .columnType(ColumnTypeDto.INT)
                     .name("halt_punkt_id_nach")
@@ -4410,7 +4428,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_1_ID)
                     .ordinalPosition(0)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("id")
                     .internalName("id")
                     .columnType(ColumnTypeDto.BIGINT)
@@ -4420,7 +4437,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_2_ID)
                     .ordinalPosition(1)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Animal Name")
                     .internalName("animal_name")
                     .columnType(ColumnTypeDto.VARCHAR)
@@ -4430,7 +4446,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_3_ID)
                     .ordinalPosition(2)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Hair")
                     .internalName("hair")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4440,7 +4455,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_4_ID)
                     .ordinalPosition(3)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Feathers")
                     .internalName("feathers")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4450,7 +4464,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_5_ID)
                     .ordinalPosition(4)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Bread")
                     .internalName("bread")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4460,7 +4473,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_6_ID)
                     .ordinalPosition(5)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Eggs")
                     .internalName("eggs")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4470,7 +4482,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_7_ID)
                     .ordinalPosition(6)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Milk")
                     .internalName("milk")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4480,7 +4491,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_8_ID)
                     .ordinalPosition(7)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Water")
                     .internalName("water")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4490,7 +4500,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_9_ID)
                     .ordinalPosition(8)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Airborne")
                     .internalName("airborne")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4500,7 +4509,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_10_ID)
                     .ordinalPosition(9)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Waterborne")
                     .internalName("waterborne")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4510,7 +4518,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_11_ID)
                     .ordinalPosition(10)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Aquantic")
                     .internalName("aquantic")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4520,7 +4527,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_12_ID)
                     .ordinalPosition(11)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Predator")
                     .internalName("predator")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4530,7 +4536,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_13_ID)
                     .ordinalPosition(12)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Backbone")
                     .internalName("backbone")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4540,7 +4545,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_14_ID)
                     .ordinalPosition(13)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Breathes")
                     .internalName("breathes")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4550,7 +4554,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_15_ID)
                     .ordinalPosition(14)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Venomous")
                     .internalName("venomous")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4560,7 +4563,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_16_ID)
                     .ordinalPosition(15)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Fin")
                     .internalName("fin")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4570,7 +4572,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_17_ID)
                     .ordinalPosition(16)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Legs")
                     .internalName("legs")
                     .columnType(ColumnTypeDto.INT)
@@ -4580,7 +4581,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_18_ID)
                     .ordinalPosition(17)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Tail")
                     .internalName("tail")
                     .columnType(ColumnTypeDto.DECIMAL)
@@ -4590,7 +4590,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_19_ID)
                     .ordinalPosition(18)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Domestic")
                     .internalName("domestic")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4600,7 +4599,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_20_ID)
                     .ordinalPosition(19)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Catsize")
                     .internalName("catsize")
                     .columnType(ColumnTypeDto.BOOL)
@@ -4610,7 +4608,6 @@ public abstract class BaseTest {
                     .id(COLUMN_5_21_ID)
                     .ordinalPosition(20)
                     .tableId(TABLE_5_ID)
-                    .table(TABLE_5_DTO)
                     .name("Class Type")
                     .internalName("class_type")
                     .columnType(ColumnTypeDto.DECIMAL)
@@ -4820,7 +4817,6 @@ public abstract class BaseTest {
                     .id(67L)
                     .ordinalPosition(0)
                     .tableId(TABLE_6_ID)
-                    .table(TABLE_6_DTO)
                     .name("id")
                     .internalName("id")
                     .columnType(ColumnTypeDto.BIGINT)
@@ -4830,7 +4826,6 @@ public abstract class BaseTest {
                     .id(68L)
                     .ordinalPosition(1)
                     .tableId(TABLE_6_ID)
-                    .table(TABLE_6_DTO)
                     .name("firstname")
                     .internalName("firstname")
                     .columnType(ColumnTypeDto.VARCHAR)
@@ -4840,7 +4835,6 @@ public abstract class BaseTest {
                     .id(69L)
                     .ordinalPosition(2)
                     .tableId(TABLE_6_ID)
-                    .table(TABLE_6_DTO)
                     .name("lastname")
                     .internalName("lastname")
                     .columnType(ColumnTypeDto.VARCHAR)
@@ -4850,7 +4844,6 @@ public abstract class BaseTest {
                     .id(70L)
                     .ordinalPosition(3)
                     .tableId(TABLE_6_ID)
-                    .table(TABLE_6_DTO)
                     .name("birth")
                     .internalName("birth")
                     .columnType(ColumnTypeDto.YEAR)
@@ -4860,7 +4853,6 @@ public abstract class BaseTest {
                     .id(71L)
                     .ordinalPosition(4)
                     .tableId(TABLE_6_ID)
-                    .table(TABLE_6_DTO)
                     .name("reminder")
                     .internalName("reminder")
                     .columnType(ColumnTypeDto.TIME)
@@ -4870,7 +4862,6 @@ public abstract class BaseTest {
                     .id(72L)
                     .ordinalPosition(5)
                     .tableId(TABLE_6_ID)
-                    .table(TABLE_6_DTO)
                     .name("ref_id")
                     .internalName("ref_id")
                     .columnType(ColumnTypeDto.BIGINT)
@@ -4956,7 +4947,6 @@ public abstract class BaseTest {
                     .id(COLUMN_7_1_ID)
                     .ordinalPosition(0)
                     .tableId(TABLE_7_ID)
-                    .table(TABLE_7_DTO)
                     .name("name_id")
                     .internalName("name_id")
                     .columnType(ColumnTypeDto.BIGINT)
@@ -4966,7 +4956,6 @@ public abstract class BaseTest {
                     .id(COLUMN_7_2_ID)
                     .ordinalPosition(1)
                     .tableId(TABLE_7_ID)
-                    .table(TABLE_7_DTO)
                     .name("zoo_id")
                     .internalName("zoo_id")
                     .columnType(ColumnTypeDto.BIGINT)
@@ -4991,7 +4980,6 @@ public abstract class BaseTest {
                     .databaseId(DATABASE_1_ID)
                     .name("location")
                     .internalName("location")
-                    .ordinalPosition(0)
                     .columnType(ColumnTypeDto.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
@@ -5002,7 +4990,6 @@ public abstract class BaseTest {
                     .databaseId(DATABASE_1_ID)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5014,7 +5001,6 @@ public abstract class BaseTest {
                     .databaseId(DATABASE_1_ID)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5034,6 +5020,7 @@ public abstract class BaseTest {
             .queryHash(VIEW_1_QUERY_HASH)
             .ownedBy(USER_1_ID)
             .owner(USER_1)
+            .identifiers(new LinkedList<>()) /* IDENTIFIER_3 */
             .columns(null) /* VIEW_1_COLUMNS */
             .build();
 
@@ -5062,7 +5049,6 @@ public abstract class BaseTest {
                     .ordinalPosition(0)
                     .name("location")
                     .internalName("location")
-                    .ordinalPosition(0)
                     .columnType(TableColumnType.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
@@ -5073,7 +5059,6 @@ public abstract class BaseTest {
                     .ordinalPosition(1)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5085,7 +5070,6 @@ public abstract class BaseTest {
                     .ordinalPosition(2)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5107,7 +5091,6 @@ public abstract class BaseTest {
             .query(VIEW_1_QUERY)
             .queryHash(VIEW_1_QUERY_HASH)
             .columns(VIEW_1_COLUMNS_DTO)
-            .database(null)
             .build();
 
     public final static PrivilegedViewDto VIEW_1_PRIVILEGED_DTO = PrivilegedViewDto.builder()
@@ -5158,26 +5141,29 @@ public abstract class BaseTest {
     public final static List<ViewColumnDto> VIEW_2_COLUMNS_DTO = List.of(
             ViewColumnDto.builder()
                     .id(4L)
-                    .name("date")
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(0)
+                    .name("Date")
                     .internalName("date")
-                    .ordinalPosition(1)
                     .columnType(ColumnTypeDto.DATE)
                     .isNullAllowed(true)
                     .build(),
             ViewColumnDto.builder()
                     .id(5L)
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(1)
                     .name("loc")
                     .internalName("loc")
-                    .ordinalPosition(2)
                     .columnType(ColumnTypeDto.VARCHAR)
                     .size(255L)
                     .isNullAllowed(true)
                     .build(),
             ViewColumnDto.builder()
                     .id(6L)
-                    .name("mintemp")
-                    .internalName("mintemp")
-                    .ordinalPosition(3)
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(2)
+                    .name("Rainfall")
+                    .internalName("rainfall")
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5185,9 +5171,10 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(7L)
-                    .name("rainfall")
-                    .internalName("rainfall")
-                    .ordinalPosition(4)
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(3)
+                    .name("MinTemp")
+                    .internalName("mintemp")
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5313,9 +5300,10 @@ public abstract class BaseTest {
     public final static List<ViewColumnDto> VIEW_3_COLUMNS_DTO = List.of(
             ViewColumnDto.builder()
                     .id(8L)
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(0)
                     .name("MinTemp")
                     .internalName("mintemp")
-                    .ordinalPosition(0)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5323,30 +5311,31 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(9L)
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(1)
                     .name("Rainfall")
                     .internalName("rainfall")
-                    .ordinalPosition(1)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
-                    .concept(CONCEPT_1_DTO)
-                    .unit(UNIT_1_DTO)
                     .isNullAllowed(true)
                     .build(),
             ViewColumnDto.builder()
                     .id(10L)
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(2)
                     .name("Location")
                     .internalName("location")
-                    .ordinalPosition(2)
                     .columnType(ColumnTypeDto.VARCHAR)
                     .size(255L)
                     .isNullAllowed(true)
                     .build(),
             ViewColumnDto.builder()
                     .id(11L)
+                    .databaseId(DATABASE_1_ID)
+                    .ordinalPosition(3)
                     .name("Date")
                     .internalName("date")
-                    .ordinalPosition(3)
                     .columnType(ColumnTypeDto.DATE)
                     .isNullAllowed(true)
                     .build()
@@ -5470,6 +5459,7 @@ public abstract class BaseTest {
     public final static List<ViewColumnDto> VIEW_4_COLUMNS_DTO = List.of(
             ViewColumnDto.builder()
                     .id(12L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(0)
                     .name("Animal Name")
                     .internalName("animal_name")
@@ -5478,6 +5468,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(13L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(1)
                     .name("Hair")
                     .internalName("hair")
@@ -5486,6 +5477,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(14L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(2)
                     .name("Feathers")
                     .internalName("feathers")
@@ -5494,6 +5486,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(15L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(3)
                     .name("Eggs")
                     .internalName("eggs")
@@ -5502,6 +5495,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(16L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(4)
                     .name("Milk")
                     .internalName("milk")
@@ -5510,6 +5504,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(17L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(5)
                     .name("Airborne")
                     .internalName("airborne")
@@ -5518,6 +5513,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(18L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(6)
                     .name("Aquantic")
                     .internalName("aquantic")
@@ -5526,6 +5522,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(19L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(7)
                     .name("Predator")
                     .internalName("predator")
@@ -5534,6 +5531,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(20L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(8)
                     .name("Backbone")
                     .internalName("backbone")
@@ -5542,6 +5540,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(21L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(9)
                     .name("Breathes")
                     .internalName("breathes")
@@ -5550,6 +5549,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(22L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(10)
                     .name("Venomous")
                     .internalName("venomous")
@@ -5558,6 +5558,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(23L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(11)
                     .name("Fin")
                     .internalName("fin")
@@ -5566,6 +5567,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(24L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(12)
                     .name("Legs")
                     .internalName("legs")
@@ -5574,6 +5576,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(25L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(13)
                     .name("Tail")
                     .internalName("tail")
@@ -5582,6 +5585,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(26L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(14)
                     .name("Domestic")
                     .internalName("domestic")
@@ -5590,6 +5594,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(27L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(15)
                     .name("Catsize")
                     .internalName("catsize")
@@ -5598,6 +5603,7 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(28L)
+                    .databaseId(DATABASE_2_ID)
                     .ordinalPosition(16)
                     .name("Class Type")
                     .internalName("class_type")
@@ -5860,7 +5866,6 @@ public abstract class BaseTest {
                     .ordinalPosition(0)
                     .name("location")
                     .internalName("location")
-                    .ordinalPosition(0)
                     .columnType(TableColumnType.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
@@ -5871,7 +5876,6 @@ public abstract class BaseTest {
                     .ordinalPosition(1)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5883,7 +5887,6 @@ public abstract class BaseTest {
                     .ordinalPosition(2)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(TableColumnType.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5894,20 +5897,20 @@ public abstract class BaseTest {
     public final static List<ViewColumnDto> VIEW_5_COLUMNS_DTO = List.of(
             ViewColumnDto.builder()
                     .id(29L)
+                    .databaseId(DATABASE_3_ID)
                     .ordinalPosition(0)
                     .name("location")
                     .internalName("location")
-                    .ordinalPosition(0)
                     .columnType(ColumnTypeDto.VARCHAR)
                     .size(255L)
                     .isNullAllowed(false)
                     .build(),
             ViewColumnDto.builder()
                     .id(30L)
+                    .databaseId(DATABASE_3_ID)
                     .ordinalPosition(1)
                     .name("lat")
                     .internalName("lat")
-                    .ordinalPosition(1)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -5915,10 +5918,10 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(31L)
+                    .databaseId(DATABASE_3_ID)
                     .ordinalPosition(2)
                     .name("lng")
                     .internalName("lng")
-                    .ordinalPosition(2)
                     .columnType(ColumnTypeDto.DECIMAL)
                     .size(10L)
                     .d(0L)
@@ -6009,6 +6012,8 @@ public abstract class BaseTest {
     public final static String CREATOR_3_ORCID = "00000-00000-00000";
     public final static String CREATOR_3_AFFIL = "TU Graz";
     public final static String CREATOR_3_AFFIL_ROR = "https://ror.org/04wn28048";
+    public final static AffiliationIdentifierSchemeType CREATOR_3_AFFIL_SCHEME_TYPE = AffiliationIdentifierSchemeType.ROR;
+    public final static AffiliationIdentifierSchemeTypeDto CREATOR_3_AFFIL_SCHEME_TYPE_DTO = AffiliationIdentifierSchemeTypeDto.ROR;
     public final static String CREATOR_3_AFFIL_URI = "https://ror.org/";
     public final static String CREATOR_3_FIRSTNAME = "Max";
     public final static String CREATOR_3_LASTNAME = "Mustermann";
@@ -6337,7 +6342,7 @@ public abstract class BaseTest {
             .resultNumber(IDENTIFIER_1_RESULT_NUMBER)
             .publisher(IDENTIFIER_1_PUBLISHER)
             .type(IDENTIFIER_1_TYPE_DTO)
-            .owner(USER_1_DTO)
+            .owner(USER_1_BRIEF_DTO)
             .licenses(new LinkedList<>(List.of(LICENSE_1_DTO)))
             .creators(new LinkedList<>(List.of(IDENTIFIER_1_CREATOR_1_DTO)))
             .funders(new LinkedList<>(List.of(IDENTIFIER_1_FUNDER_1_DTO)))
@@ -6523,6 +6528,9 @@ public abstract class BaseTest {
             .nameIdentifier(CREATOR_1_ORCID)
             .nameIdentifierScheme(NameIdentifierSchemeTypeDto.ORCID)
             .affiliation(CREATOR_1_AFFIL)
+            .affiliationIdentifier(CREATOR_1_AFFIL_ROR)
+            .affiliationIdentifierScheme(CREATOR_1_AFFIL_TYPE_DTO)
+            .affiliationIdentifierSchemeUri(CREATOR_1_AFFIL_URI)
             .build();
 
     public final static CreatorSaveDto IDENTIFIER_5_CREATOR_1_CREATE_DTO = CreatorSaveDto.builder()
@@ -6626,7 +6634,8 @@ public abstract class BaseTest {
             .resultNumber(IDENTIFIER_5_RESULT_NUMBER)
             .publisher(IDENTIFIER_5_PUBLISHER)
             .type(IDENTIFIER_5_TYPE_DTO)
-            .owner(USER_2_DTO)
+            .owner(USER_2_BRIEF_DTO)
+            .status(IDENTIFIER_5_STATUS_TYPE_DTO)
             .creators(new LinkedList<>(List.of(IDENTIFIER_5_CREATOR_1_DTO, IDENTIFIER_5_CREATOR_2_DTO)))
             .build();
 
@@ -6780,6 +6789,7 @@ public abstract class BaseTest {
             .affiliation(CREATOR_1_AFFIL)
             .affiliationIdentifier(CREATOR_1_AFFIL_ROR)
             .affiliationIdentifierScheme(CREATOR_1_AFFIL_TYPE)
+            .affiliationIdentifierSchemeUri(CREATOR_1_AFFIL_URI)
             .build();
 
     public final static CreatorDto IDENTIFIER_6_CREATOR_1_DTO = CreatorDto.builder()
@@ -6850,8 +6860,8 @@ public abstract class BaseTest {
             .nameIdentifierScheme(NameIdentifierSchemeType.ORCID)
             .affiliation(CREATOR_3_AFFIL)
             .affiliationIdentifier(CREATOR_3_AFFIL_ROR)
-            .affiliationIdentifierScheme(AffiliationIdentifierSchemeType.ROR)
-            .affiliationIdentifierSchemeUri("https://ror.org/")
+            .affiliationIdentifierScheme(CREATOR_3_AFFIL_SCHEME_TYPE)
+            .affiliationIdentifierSchemeUri(CREATOR_3_AFFIL_URI)
             .build();
 
     public final static CreatorDto IDENTIFIER_6_CREATOR_3_DTO = CreatorDto.builder()
@@ -6863,6 +6873,8 @@ public abstract class BaseTest {
             .nameIdentifierScheme(NameIdentifierSchemeTypeDto.ORCID)
             .affiliation(CREATOR_3_AFFIL)
             .affiliationIdentifier(CREATOR_3_AFFIL_ROR)
+            .affiliationIdentifierScheme(CREATOR_3_AFFIL_SCHEME_TYPE_DTO)
+            .affiliationIdentifierSchemeUri(CREATOR_3_AFFIL_URI)
             .build();
 
     public final static Identifier IDENTIFIER_6 = Identifier.builder()
@@ -6909,7 +6921,7 @@ public abstract class BaseTest {
             .resultNumber(IDENTIFIER_6_RESULT_NUMBER)
             .publisher(IDENTIFIER_6_PUBLISHER)
             .type(IDENTIFIER_6_TYPE_DTO)
-            .owner(USER_3_DTO)
+            .owner(USER_3_BRIEF_DTO)
             .licenses(new LinkedList<>(List.of(LICENSE_1_DTO)))
             .creators(new LinkedList<>(List.of(IDENTIFIER_6_CREATOR_1_DTO, IDENTIFIER_6_CREATOR_2_DTO, IDENTIFIER_6_CREATOR_3_DTO)))
             .status(IDENTIFIER_6_STATUS_TYPE_DTO)
@@ -7015,10 +7027,11 @@ public abstract class BaseTest {
             .resultNumber(IDENTIFIER_7_RESULT_NUMBER)
             .publisher(IDENTIFIER_7_PUBLISHER)
             .type(IDENTIFIER_7_TYPE_DTO)
-            .owner(USER_4_DTO)
+            .owner(USER_4_BRIEF_DTO)
+            .relatedIdentifiers(new LinkedList<>())
             .licenses(new LinkedList<>())
             .funders(new LinkedList<>())
-            .creators(new LinkedList<>())
+            .creators(new LinkedList<>(List.of(IDENTIFIER_7_CREATOR_1_DTO)))
             .status(IDENTIFIER_7_STATUS_TYPE_DTO)
             .build();
 
@@ -7128,7 +7141,7 @@ public abstract class BaseTest {
             .resultNumber(IDENTIFIER_2_RESULT_NUMBER)
             .publisher(IDENTIFIER_2_PUBLISHER)
             .type(IDENTIFIER_2_TYPE_DTO)
-            .owner(USER_1_DTO)
+            .owner(USER_1_BRIEF_DTO)
             .licenses(new LinkedList<>(List.of(LICENSE_1_DTO)))
             .creators(new LinkedList<>())
             .status(IDENTIFIER_2_STATUS_TYPE_DTO)
@@ -7229,7 +7242,7 @@ public abstract class BaseTest {
             .resultNumber(IDENTIFIER_3_RESULT_NUMBER)
             .publisher(IDENTIFIER_3_PUBLISHER)
             .type(IDENTIFIER_3_TYPE_DTO)
-            .owner(USER_1_DTO)
+            .owner(USER_1_BRIEF_DTO)
             .licenses(new LinkedList<>(List.of(LICENSE_1_DTO)))
             .creators(new LinkedList<>())
             .status(IDENTIFIER_3_STATUS_TYPE_DTO)
@@ -7328,7 +7341,7 @@ public abstract class BaseTest {
             .resultNumber(IDENTIFIER_4_RESULT_NUMBER)
             .publisher(IDENTIFIER_4_PUBLISHER)
             .type(IDENTIFIER_4_TYPE_DTO)
-            .owner(USER_1_DTO)
+            .owner(USER_1_BRIEF_DTO)
             .licenses(new LinkedList<>(List.of(LICENSE_1_DTO)))
             .creators(new LinkedList<>())
             .status(IDENTIFIER_4_STATUS_TYPE_DTO)
@@ -7404,6 +7417,14 @@ public abstract class BaseTest {
             .displayEnd(BANNER_MESSAGE_1_END)
             .build();
 
+    public final static BannerMessageDto BANNER_MESSAGE_1_DTO = BannerMessageDto.builder()
+            .id(BANNER_MESSAGE_1_ID)
+            .message(BANNER_MESSAGE_1_MESSAGE)
+            .type(BANNER_MESSAGE_1_TYPE_DTO)
+            .displayStart(BANNER_MESSAGE_1_START)
+            .displayEnd(BANNER_MESSAGE_1_END)
+            .build();
+
     public final static BannerMessageCreateDto BANNER_MESSAGE_1_CREATE_DTO = BannerMessageCreateDto.builder()
             .message(BANNER_MESSAGE_1_MESSAGE)
             .type(BANNER_MESSAGE_1_TYPE_DTO)
diff --git a/lib/python/dbrepo/api/dto.py b/lib/python/dbrepo/api/dto.py
index 5100a7ae4e7c84ba16e51750a88b15ae5406d381..c6188098f92b7f33a7b76c08de0ae5beac7355c1 100644
--- a/lib/python/dbrepo/api/dto.py
+++ b/lib/python/dbrepo/api/dto.py
@@ -656,7 +656,7 @@ class ViewBrief(BaseModel):
     owned_by: str
 
 
-class Concept(BaseModel):
+class ConceptBrief(BaseModel):
     id: int
     uri: str
     name: Optional[str] = None
@@ -691,7 +691,7 @@ class TableStatistics(BaseModel):
     columns: dict[str, ColumnStatistic]
 
 
-class Unit(BaseModel):
+class UnitBrief(BaseModel):
     id: int
     uri: str
     name: Optional[str] = None
@@ -886,8 +886,9 @@ class Column(BaseModel):
     name: str
     database_id: int
     table_id: int
+    ord: int
     internal_name: str
-    column_type: ColumnType
+    type: ColumnType
     is_public: bool
     is_null_allowed: bool
     alias: Optional[str] = None
@@ -896,8 +897,8 @@ class Column(BaseModel):
     d: Optional[int] = None
     mean: Optional[float] = None
     median: Optional[float] = None
-    concept: Optional[Concept] = None
-    unit: Optional[Unit] = None
+    concept: Optional[ConceptBrief] = None
+    unit: Optional[UnitBrief] = None
     enums: Optional[List[str]] = field(default_factory=list)
     sets: Optional[List[str]] = field(default_factory=list)
     index_length: Optional[int] = None
@@ -915,7 +916,7 @@ class ViewColumn(BaseModel):
     name: str
     database_id: int
     internal_name: str
-    column_type: ColumnType
+    type: ColumnType
     is_public: bool
     is_null_allowed: bool
     alias: Optional[str] = None
@@ -923,8 +924,8 @@ class ViewColumn(BaseModel):
     d: Optional[int] = None
     mean: Optional[float] = None
     median: Optional[float] = None
-    concept: Optional[Concept] = None
-    unit: Optional[Unit] = None
+    concept: Optional[ConceptBrief] = None
+    unit: Optional[UnitBrief] = None
     index_length: Optional[int] = None
     length: Optional[int] = None