diff --git a/src/main/java/com/wallet/secure/audit/entity/AuditLog.java b/src/main/java/com/wallet/secure/audit/entity/AuditLog.java index 316fded..84e8d8f 100644 --- a/src/main/java/com/wallet/secure/audit/entity/AuditLog.java +++ b/src/main/java/com/wallet/secure/audit/entity/AuditLog.java @@ -4,6 +4,8 @@ import com.wallet.secure.common.enums.LogSeverity; import jakarta.persistence.*; import lombok.*; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -96,6 +98,7 @@ public class AuditLog { * OWASP A09: details MUST NOT contain passwords, tokens, or raw PII. * Safe to store: email (for identification), UUIDs, amounts, outcomes. */ + @JdbcTypeCode(SqlTypes.JSON) @Column(name = "details", columnDefinition = "jsonb") private String details; diff --git a/src/main/java/com/wallet/secure/transaction/entity/Transaction.java b/src/main/java/com/wallet/secure/transaction/entity/Transaction.java index b6e8b7b..0e20f90 100644 --- a/src/main/java/com/wallet/secure/transaction/entity/Transaction.java +++ b/src/main/java/com/wallet/secure/transaction/entity/Transaction.java @@ -6,6 +6,8 @@ import com.wallet.secure.wallet.entity.Wallet; import jakarta.persistence.*; import lombok.*; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -154,6 +156,7 @@ public class Transaction { * OWASP A09: stores request context for fraud detection and audit. * Example: {"ip": "192.168.1.1", "device": "Mozilla/5.0..."} */ + @JdbcTypeCode(SqlTypes.JSON) @Column(name = "metadata", columnDefinition = "jsonb") private String metadata;