diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
index 8fd4a26c5ea83f66b6f8f3e2d55d3a6589dd7ee5..5d0a95ed89cb8689106e34ec69449b8383667df1 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
@@ -4,9 +4,7 @@ import at.tuwien.api.database.ViewColumnDto;
 import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.table.TableBriefDto;
 import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
+import at.tuwien.api.database.table.columns.*;
 import at.tuwien.api.database.table.constraints.ConstraintsDto;
 import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
 import at.tuwien.api.database.table.constraints.foreign.CreateForeignKeyDto;
@@ -206,10 +204,10 @@ public class DatabaseServiceIntegrationTest extends AbstractUnitTest {
         assertColumn(columns.get(0), null, null, DATABASE_2_ID, "id", "id", ColumnTypeDto.BIGINT, 19L, 0L, false, null);
         assertColumn(columns.get(1), null, null, DATABASE_2_ID, "mode", "mode", ColumnTypeDto.ENUM, 3L, null, false, null);
         assertEquals(2, columns.get(1).getEnums().size());
-        assertEquals(List.of("ABC", "DEF"), columns.get(1).getEnums());
+        assertEquals(List.of("ABC", "DEF"), columns.get(1).getEnums().stream().map(EnumDto::getValue).toList());
         assertColumn(columns.get(2), null, null, DATABASE_2_ID, "seq", "seq", ColumnTypeDto.SET, 5L, null, true, null);
         assertEquals(3, columns.get(2).getSets().size());
-        assertEquals(List.of("1", "2", "3"), columns.get(2).getSets());
+        assertEquals(List.of("1", "2", "3"), columns.get(2).getSets().stream().map(SetDto::getValue).toList());
         /* ignore rest (constraints) */
     }
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
index 6df1265b75209f4a2671291d8e1ee3beb6cb79f9..8ea890d7b41f83167e58059004a858b4d037cc3f 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
@@ -3,8 +3,8 @@ package at.tuwien.service.impl;
 import at.tuwien.api.database.table.CreateTableDto;
 import at.tuwien.api.database.table.TableStatisticDto;
 import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
 import at.tuwien.api.database.table.columns.ColumnStatisticDto;
+import at.tuwien.api.database.table.columns.CreateTableColumnDto;
 import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
 import at.tuwien.config.RabbitConfig;
 import at.tuwien.entities.database.Database;
@@ -114,20 +114,24 @@ public class TableServiceImpl implements TableService {
             for (int i = 0; i < data.getColumns().size(); i++) {
                 final CreateTableColumnDto c = data.getColumns().get(i);
                 final TableColumn column = metadataMapper.columnCreateDtoToTableColumn(c, database.getContainer().getImage());
-                column.setEnums(c.getEnums()
-                        .stream()
-                        .map(e -> ColumnEnum.builder()
-                                .column(column)
-                                .value(e)
-                                .build())
-                        .toList());
-                column.setSets(c.getSets()
-                        .stream()
-                        .map(e -> ColumnSet.builder()
-                                .column(column)
-                                .value(e)
-                                .build())
-                        .toList());
+                if (c.getEnums() != null) {
+                    column.setEnums(c.getEnums()
+                            .stream()
+                            .map(e -> ColumnEnum.builder()
+                                    .column(column)
+                                    .value(e)
+                                    .build())
+                            .toList());
+                }
+                if (c.getSets() != null) {
+                    column.setSets(c.getSets()
+                            .stream()
+                            .map(e -> ColumnSet.builder()
+                                    .column(column)
+                                    .value(e)
+                                    .build())
+                            .toList());
+                }
                 column.setOrdinalPosition(idx[0]++);
                 column.setTable(table);
                 if (c.getUnitUri() != null) {
diff --git a/lib/python/tests/test_unit_container.py b/lib/python/tests/test_unit_container.py
index 1faf4ec738ff689d56ec6fcf84932767ad68379c..aae90467b504b684e96b6b0c3fa314fe83445ef6 100644
--- a/lib/python/tests/test_unit_container.py
+++ b/lib/python/tests/test_unit_container.py
@@ -26,9 +26,12 @@ class ContainerUnitTest(unittest.TestCase):
                                         driver_class="org.mariadb.jdbc.Driver",
                                         jdbc_method="mariadb",
                                         data_types=[
-                                            DataType(display_name="SERIAL", value="serial",
+                                            DataType(id="a01957bf-6fed-46a3-8b13-dc6ea304a3af",
+                                                     display_name="SERIAL",
+                                                     value="serial",
                                                      documentation="https://mariadb.com/kb/en/bigint/",
-                                                     is_quoted=False, is_buildable=True)]))
+                                                     is_quoted=False,
+                                                     is_buildable=True)]))
             # mock
             mock.post('/api/container', json=exp.model_dump(), status_code=201)
             # test
@@ -177,9 +180,12 @@ class ContainerUnitTest(unittest.TestCase):
                                         driver_class="org.mariadb.jdbc.Driver",
                                         jdbc_method="mariadb",
                                         data_types=[
-                                            DataType(display_name="SERIAL", value="serial",
+                                            DataType(id="a01957bf-6fed-46a3-8b13-dc6ea304a3af",
+                                                     display_name="SERIAL",
+                                                     value="serial",
                                                      documentation="https://mariadb.com/kb/en/bigint/",
-                                                     is_quoted=False, is_buildable=True)]))
+                                                     is_quoted=False,
+                                                     is_buildable=True)]))
             # mock
             mock.get('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', json=exp.model_dump())
             # test
diff --git a/lib/python/tests/test_unit_image.py b/lib/python/tests/test_unit_image.py
index 2802efc69073ba10b7c7286b87cdb531ffafbbb1..9b994c6f1705978c30ea3f1a24f2b92500708ee6 100644
--- a/lib/python/tests/test_unit_image.py
+++ b/lib/python/tests/test_unit_image.py
@@ -3,7 +3,6 @@ import unittest
 import requests_mock
 
 from dbrepo.RestClient import RestClient
-
 from dbrepo.api.dto import ImageBrief
 
 
@@ -19,7 +18,9 @@ class ImageUnitTest(unittest.TestCase):
 
     def test_get_images_succeeds(self):
         with requests_mock.Mocker() as mock:
-            exp = [ImageBrief(id=1, name="mariadb", version="11.1.3", jdbc_method="mariadb", default=False)]
+            exp = [ImageBrief(id="5d065194-2196-42e3-83e6-d8fc658c4b66",
+                              name="mariadb",
+                              version="11.1.3")]
             # mock
             mock.get('/api/image', json=[exp[0].model_dump()])
             # test
diff --git a/lib/python/tests/test_unit_messages.py b/lib/python/tests/test_unit_messages.py
index cf863dcb6cbb0507cb97a67175274b5b50c61948..5523955c65a74ec0df5ee5ddc76d519d11269523 100644
--- a/lib/python/tests/test_unit_messages.py
+++ b/lib/python/tests/test_unit_messages.py
@@ -3,7 +3,6 @@ import unittest
 import requests_mock
 
 from dbrepo.RestClient import RestClient
-
 from dbrepo.api.dto import Message
 
 
@@ -19,7 +18,7 @@ class ImageUnitTest(unittest.TestCase):
 
     def test_get_images_succeeds(self):
         with requests_mock.Mocker() as mock:
-            exp = [Message(id=1, type="info")]
+            exp = [Message(id="97e46776-aef2-4a6f-9e82-9d2ae556745f", type="info")]
             # mock
             mock.get('/api/message', json=[exp[0].model_dump()])
             # test