0

I have a parameterized cypher query which looks similar to this -

FOREACH (rel IN {relations} | 
match (src:Biz_Table{db_name:rel.sdb_name, table_name:rel.stname}),(dest:Biz_Table{db_name:rel.ddb_name, table_name:rel.dtname})

create (src) - [:Connects { name:rel.name, values:[rel.values],
rel.key_field1:rel.key_field1_values, rel.key_field2:rel.key_field2_values}] -> (dest) )

now I want to pass {relations} variable from JDBC prepared statement - which will be array of objects I want to loop through.

Dave Bennett
  • 10,996
  • 3
  • 30
  • 41
Manohar CS
  • 31
  • 8

1 Answers1

0

Use preparedstatement.setObject of a list of maps

Michael Hunger
  • 41,339
  • 3
  • 57
  • 80
  • HI Michael, thanks for your response. What does each map represents here ? why do we need to send list> can you please elaborate? – Manohar CS Aug 31 '16 at 09:39
  • ANd also what will be key for each entry in the map? – Manohar CS Aug 31 '16 at 09:44
  • Hi Michael, your suggestion worked. I added each item as a map and added them to list. But my query needed little modification before making it work perfectly. change was - ` WITH {1} as relations unwind relations as rel match (src:Biz_Table{db_name:rel.sdb_name, table_name:rel.stname}), (dest:Biz_Table{db_name:rel.ddb_name, table_name:rel.dtname}) \ create (src) - [a:Connects { name:rel.name, values:[rel.values], key_field1:rel.key_field1, key_field1_value:rel.key_field1_value, key_field2:rel.key_field2, key_field2_value:rel.key_field2_value}] -> (dest) ` – Manohar CS Aug 31 '16 at 15:30