diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
index 2b4f9a4..439a2d3 100644
--- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
+++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
@@ -1244,7 +1244,8 @@ protected function saveToDedicatedTables(ContentEntityInterface $entity, $update
           foreach ($storage_definition->getColumns() as $column => $attributes) {
             $column_name = $table_mapping->getFieldColumnName($storage_definition, $column);
             // Serialize the value if specified in the column schema.
-            $record[$column_name] = !empty($attributes['serialize']) ? serialize($item->$column) : $item->$column;
+            $value = drupal_schema_get_field_value($attributes, $item->$column);
+            $record[$column_name] = !empty($attributes['serialize']) ? serialize($value) : $value;
           }
           $query->values($record);
           if ($this->entityType->isRevisionable()) {
