KamoCRM

Map the metadata array columns as Java arrays, not List

Fixkamo-shared-library
Shipped
5 ஆகஸ்ட், 2026 அன்று 10:54 PM UTC
Author
Kamo
Commit
7db6a82

Both entities declared their array columns as List<T> under an explicit @JdbcTypeCode(SqlTypes.ARRAY). On Hibernate 6.2.13 that combination resolves the array's element class to java.lang.Class, so every flush ended in BasicCollectionJavaType.unwrap -> StringJavaType.unwrap(.., java.lang.Class) "Could not convert 'java.lang.String' to 'java.lang.Class' .. to unwrap" thrown at commit. Nothing was ever written: email_metadata.conversations and email_metadata.search_index have both sat at zero rows since they were created, so conversation threading and email search have never worked. Basic Java arrays take Hibernate's native array path instead of the collection path that mis-resolves. The column types are unchanged -- text[] and uuid[] were always correct -- so this needs no migration.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing