BasicDynaBean returning nested empty rows from postgres query in java

91 Views Asked by At

I am working on a spring boot app where I am working with postgres as a database and to fetch data I am using JDBCTemplate and storing it in BasicDynaBean type of object List.

Here's my code:

String query="SELECT * FROM students";
List<BasicDynaBean> result=JdbcTemplate.query(query, parameters, new RowToBasicDynaBeanMapper());

Map<String,Object> response=new HashMap<>();
response.put("result",result);
return result;

RowToBasicDynaBeanMapper

import org.apache.commons.beanutils.BasicDynaBean;
import org.springframework.jdbc.core.ResultSetExtractor;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

/*
 * Mapper for transforming ResultSet into a List of BasicDynaBeans using the RowSetDynaClass.
 */
final class RowToBasicDynaBeanMapper implements ResultSetExtractor<List<BasicDynaBean>> {
  @Override
  public List<BasicDynaBean> extractData(ResultSet resultSet) throws SQLException {
    ByteArrayToInputStreamRowSetDynaClass rowSetDynaClass =
        new ByteArrayToInputStreamRowSetDynaClass(resultSet);
    return (List<BasicDynaBean>) rowSetDynaClass.getRows();
  }
}

The above code triggers in Get request of a route and returns the result,But as a output I am getting this:

"result" : {
    "dynaClass" : {
      "rows" : [ {
        "dynaClass" : {
          "rows" : [ {
            "dynaClass" : {
              "rows" : [ {
                "dynaClass" ....nested long output

How can I get the correct output out of my query request? Any leads will be appreciated.

0

There are 0 best solutions below