Конвертируйте java java.util.UUID и сохраняйте его в UGID PostgreSQL - PullRequest
0 голосов
/ 28 августа 2018

У меня есть javax.persistence.AttributeConverter, потому что мне нужно хранить UUID (v4) в PostgreSQL. Преобразование объекта базы данных в локальный объект работает хорошо, но я не могу преобразовать локальный объект обратно в столбец базы данных - UUID Postgresql тип .

@Converter
public final class ApiClientIdAttributeConverter implements AttributeConverter<ApiClientId, UUID> {

  @Override
  public UUID convertToDatabaseColumn(ApiClientId attribute) {
    return ofNullable(attribute.getIdValue())
        .map(entityUuid -> attribute.getIdValue())
        .orElse(null);
  }

  @Override
  public ApiClientId convertToEntityAttribute(UUID dbData) {
    return new ApiClientId(dbData);
  }

}

Исключение:

10: 32: 59.960 [http-nio-8080-exec-2] ОШИБКА org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ОШИБКА: столбец «api_client_id» имеет тип uuid, но выражение имеет тип bytea

...