невозможно отобразить столбец объекта в тип pg в спящем режиме с помощью конвертера jpa - PullRequest
0 голосов
/ 06 марта 2020

столбец, который я хочу отобразить, является

 @Column(columnDefinition = "tsvector")
 @Convert(converter = TsVectorConverter.class)
 private String nameToken;

мой конвертер выглядит так

@Converter
public class TsVectorConverter implements AttributeConverter<String, PGobject> {
    @Override
    public PGobject convertToDatabaseColumn(String attribute) {
        PGobject pg = new PGobject();
        pg.setType("tsvector");
        try {
            pg.setValue(attribute);
            return pg;
        } catch (Exception ex) {
            throw new IllegalArgumentException("Unable to change to tsvector", ex);
        }
    }

    @Override
    public String convertToEntityAttribute(PGobject dbData) {
        return "";
    }
}

, но я получаю

Caused by: org.postgresql.util.PSQLException: ERROR: column "nametoken" is of type tsvector but expression is of type bytea
  Hint: You will need to rewrite or cast the expression.

, как вы можете см. из сообщения об ошибке hibernate изменяет столбец на bytea вместо tsvector, как указано в конвертере ... этот точно такой же код используется для работы в eclipslink, так как я могу заставить эту работу работать в hibernate с помощью конвертеров?

...