Description
After updating to Spring Data version 3.2.2 from version 2.1.8.RELEASE, our updates that were previously working now fail. While maps that have numeric keys work if there is only one map with an integer key, when there are multiple maps with numeric keys in a given query, it fails.
The classes that we are updating have the form of:
class Outer{
Map<Integer, Inner> outerMap;
}
class Inner{
Map<Integer, String> inner;
}
Updates that are meant to generate {"$set": {"outerMap.1234.inner.5678": "hello"}}
are instead generating {"$set": {"outerMap.1234.inner.inner": "hello"}}
, repeating the later map property name instead of using the integer key value.
I believe this previous issue may be related: #3652
I have a PR to follow which captures the issue in the QueryMapper that causes this regression in unit tests for the QueryMapper and UpdateMapper.
I'm happy to do anything I can to help get this fix in as soon as possible, since it's blocking the rollout of our newly modernized service.