3 回答

TA貢獻1794條經(jīng)驗 獲得超8個贊
如果我沒有錯,您正試圖訪問整個列表中的第一個對象,因為您需要將所有數(shù)據(jù)放入列表,然后嘗試從列表中獲?。ㄋ饕?。
例如:列表 listEmp=empRepository.findAll().get

TA貢獻1863條經(jīng)驗 獲得超2個贊
在分配results.get(1)
給之前String variable
,您可以檢查列表中數(shù)據(jù)的類型,results.get(1).getClass()
然后嘗試將結果分配給適當?shù)念愋汀?/p>

TA貢獻1789條經(jīng)驗 獲得超8個贊
我終于在 CLOB 的幫助下讓它工作了。
我做的第一件事是在類定義中將 String 更改為 CLOB,如下所示:
@Column(columnDefinition="text")
@Lob
private String content;
通過添加@Lob,字符串將按照此處的帖子中的建議保存到 DB 內(nèi)的 CLOB 。然后為了檢索數(shù)據(jù),存儲庫查詢將返回一個 CLOB 列表,如下所示:
public interface EventObjectRepository extends CrudRepository<EventObject, Long> {
@Query(value = "select tb.content from table0 tb where tb.id=:id", nativeQuery = true)
List<Clob> find(@Param("id") Long id);
}
將數(shù)據(jù)放入 CLOB 列表后,我需要使用 InputStream 和 IOUtils 將每個 CLOB 轉(zhuǎn)換為字符串。例如,要從列表中獲取一項:
InputStream stream = results.get(1).getAsciiStream();
StringWriter w = new StringWriter();
IOUtils.copy(stream, w);
String sample = w.toString();
添加回答
舉報