From 931fbc28e54d4ce2790a47df1967ce16e6295be8 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 12 Apr 2026 15:39:54 +0200 Subject: [PATCH] fix(annotations): use @JdbcTypeCode(JSON) for polygon JSONB column MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace @Convert(PolygonConverter) with Hibernate native @JdbcTypeCode(SqlTypes.JSON) to fix JDBC type mismatch — PostgreSQL requires jsonb type, not varchar. The PolygonConverter is retained as a standalone utility but no longer used on the entity. Hibernate 6 natively handles List> serialization to JSONB. Refs #227 Co-Authored-By: Claude Sonnet 4.6 --- .../org/raddatz/familienarchiv/model/DocumentAnnotation.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/org/raddatz/familienarchiv/model/DocumentAnnotation.java b/backend/src/main/java/org/raddatz/familienarchiv/model/DocumentAnnotation.java index d4e02258..5aaaff2d 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/model/DocumentAnnotation.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/model/DocumentAnnotation.java @@ -4,6 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.persistence.*; import lombok.*; import org.hibernate.annotations.CreationTimestamp; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; import java.time.LocalDateTime; import java.util.List; @@ -53,8 +55,8 @@ public class DocumentAnnotation { @Column(name = "file_hash", length = 64) private String fileHash; + @JdbcTypeCode(SqlTypes.JSON) @Column(columnDefinition = "jsonb") - @Convert(converter = PolygonConverter.class) private List> polygon; @Column(name = "created_by")