package com.example.demo.notice; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; @Converter(autoApply = false) public class NoticeStatusConverter implements AttributeConverter { @Override public String convertToDatabaseColumn(NoticeStatus attribute) { if (attribute == null) return null; return switch (attribute) { case DRAFT -> "draft"; case PUBLISHED -> "published"; case OFFLINE -> "offline"; }; } @Override public NoticeStatus convertToEntityAttribute(String dbData) { if (dbData == null) return null; return switch (dbData) { case "draft" -> NoticeStatus.DRAFT; case "published" -> NoticeStatus.PUBLISHED; case "offline" -> NoticeStatus.OFFLINE; default -> NoticeStatus.PUBLISHED; }; } }