因为method上加了@Transactional(readOnly = true),所以构建map或者list不能用map.of 或 list.of,不然就会报错
这是因为这种方式生成的是ImmutableMap或ImmutableList
(至于和readOnly = true是否有关我还不知道)
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:70)
at java.base/java.util.ImmutableCollections$AbstractImmutableMap.put(ImmutableCollections.java:557)
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:70)
at java.base/java.util.ImmutableCollections$AbstractImmutableList.add(ImmutableCollections.java:76)
解决方案:
构建的时候用new HashMap<>(Map.of(k, v))或new ArrayList<>(List.of(1, 2, 3))