3

I am trying to pass List in sql IN but I am getting invalid column type error. Here my SQL looks like:

String partyIdSql = "select party_id from myPartySearch where partyId = :id"
List<Long> partyIdList = new JdbcTemplate(dataSource)
  .queryForList(partyIdSql, new Object[] { id }, Long.class);


String currentRecordSql = "select * from myTable where someCol IN (:colVal)";
Map<String,Object>  params = new HashMap<String, Object>();
params.put("partyIdList", partyIdList);

memberInfo =  new JdbcTemplate(dataSource)
    .query(currentRecordSql , 
           new Object[] { params }, 
           new BeanPropertyRowMapper<MyDto>(MyDto.class));
αƞjiβ
  • 3,056
  • 14
  • 58
  • 95

1 Answers1

1

Try this:

   Map<String,Object> params = Collections.singletonMap("fields", partyIdList );    
    namedParameterJdbcTemplate.query("select * from myTable where someCol IN (:fields)", new Object[] { params }, new BeanPropertyRowMapper<MyDto>(MyDto.class));
Sezin Karli
  • 2,517
  • 19
  • 24