从数据库类型转换对象时未获取字符串值

时间:2020-03-24 14:49:54

标签: java spring-boot object casting

我正在从表中获取值,并将第一个值存储到“ yr”中,将第二个值存储到其他变量中,但是在将对象转换为字符串时,我没有得到正确的值。

List<Object[]> listObject = ddeffectiverepository.getDetails("P-to-P", fullImpacted); 
String yr = listObject.get(0)[0].toString();

我的存储库:

@Query("select ed.year, ed.fullimpact from EffectiveImpact ed where ed.part = ?1 and ed.rgn = ?2")
public List<Object[]> getDetails(String part, String rgn);

但是在调试时,我将值存储到 listObject 中,但是它没有将第一个值存储到 yr 中。而不是存储诸如“ [Ljava.lang.Object; @ 2d8383cd”

1 个答案:

答案 0 :(得分:1)

不是将值保存在Object中,而是将它们保存在Object Array中。 这是更改后的代码:

存储库:

@Query("select ed.year, ed.fullimpact from EffectiveImpact ed where ed.part = ?1 and ed.rgn = ?2")
public List<Object[]> getDetails(String part, String rgn);

服务/业务层:

List<Object[]> listObject = ddeffectiverepository.getDetails("P-to-P", fullImpacted); 
String yr = listObject.get(0)[0].toString();