3 回答
TA贡献1794条经验 获得超7个赞
如果我没有错,您正试图访问整个列表中的第一个对象,因为您需要将所有数据放入列表,然后尝试从列表中获取(索引)。
例如:列表 listEmp=empRepository.findAll().get
TA贡献1863条经验 获得超2个赞
在分配results.get(1)
给之前String variable
,您可以检查列表中数据的类型,results.get(1).getClass()
然后尝试将结果分配给适当的类型。
TA贡献1789条经验 获得超8个赞
我终于在 CLOB 的帮助下让它工作了。
我做的第一件事是在类定义中将 String 更改为 CLOB,如下所示:
@Column(columnDefinition="text")
@Lob
private String content;
通过添加@Lob,字符串将按照此处的帖子中的建议保存到 DB 内的 CLOB 。然后为了检索数据,存储库查询将返回一个 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);
}
将数据放入 CLOB 列表后,我需要使用 InputStream 和 IOUtils 将每个 CLOB 转换为字符串。例如,要从列表中获取一项:
InputStream stream = results.get(1).getAsciiStream();
StringWriter w = new StringWriter();
IOUtils.copy(stream, w);
String sample = w.toString();
添加回答
举报