@Converter(autoApply = true) public class VehicleConverter implements AttributeConverter<Vehicle, String> { @Override public String convertToDatabaseColumn(Vehicle vehicle) { switch (vehicle) { case BUS: return "B"; case CAR: return "C"; case PLANE: return "P"; case TRAIN: return "T"; default: throw new IllegalArgumentException("Unknown value: " + vehicle); } } @Override public Vehicle convertToEntityAttribute(String dbData) { switch (dbData) { case "B": return Vehicle.BUS; case "C": return Vehicle.CAR; case "P": return Vehicle.PLANE; case "T": return Vehicle.TRAIN; default: throw new IllegalArgumentException("Unknown value: " + dbData); } } }