Данные CLOB SQL Server в строку Java + Angular - PullRequest
0 голосов
/ 02 января 2019

Я использую базу данных SQL Server, и одна таблица содержит данные CLOB.Я использую Spring Boot + Hibernate Framework.Когда я получаю данные с помощью репозитория, я получаю некоторую закодированную строку (ее поток, мне нужно преобразовать CLOB в String), когда я использую базу данных в качестве сервера SQL.Если я использую базу данных в качестве базы данных памяти H2 и MySQL, я получаю правильную строку.Таким образом, есть кое-что дополнительное, что мне нужно настроить с сервером SQL, я не уверен, какой параметр с полем Hibernate CLOB как String.

@Entity
@Table(name = "pivotwidgets")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Pivotwidgets implements Serializable {
.....
    @Lob
    @Column(name = "properties", columnDefinition="CLOB")
    private String properties;
.....
}

I have below JPA repository :- 
public interface PivotwidgetsRepository extends JpaRepository<Pivotwidgets, UUID>, JpaSpecificationExecutor<Pivotwidgets> {

}


@Service
@Transactional
public class PivotwidgetsServiceImpl implements PivotwidgetsService {

    @Override
    @Transactional(readOnly = true)
    public Pivotwidgets findOne(UUID id) {
        log.debug("Request to get Pivotwidgets : {}", id);
        Optional<Pivotwidgets> pivotwidgets = pivotwidgetsRepository.findById(id);

        return pivotwidgets.get();
    }
}

Когда я вызываю вышеуказанную службу с контроллером, я вижу CLOB данные в виде потока, например: -

URL запроса:

http://localhost:9000/api/pivotwidgets/6f6ff3e9-0db2-4525-9e3a-5713d5a0b198

ответ: -

{
  "id" : "6f6ff3e9-0db2-4525-9e3a-5713d5a0b198",
  "properties" : "獡慤摳"
}

Как я могу обработать преобразование свойств поля?

1 Ответ

0 голосов
/ 02 января 2019

Вы можете попробовать следующим образом

@Lob
@Type(type="text")
@Column(name = "properties", columnDefinition="CLOB")
private String properties;
...