Я сталкиваюсь с той же проблемой.Единственный способ, которым мне удалось заставить его работать, - это по-настоящему дурацкий взлом - завернуть List в другой класс.
public class MyWrapper {
@ElementList(name="data")
private List<MyClass> data = new ArrayList<MyClass>();
public MyWrapper(List<MyClass> data) {
this.data = data;
}
public List<MyClass> getData() {
return this.data;
}
public void setData(List<MyClass> data) {
this.data = data;
}
}
И затем вместо
@ElementMap Map<String,List<MyClass>>
... выбыло бы:
@ElementMap Map<String,MyWrapper>
В моем случае, карта полностью приватна для моего класса (т.е. другие классы никогда не могут напрямую общаться с картой), так что тот факт, что у меня есть этот дополнительный слой здесьне имеет большого значения.XML, который создается, конечно, является грубым, но, опять же, в моем случае, он терпим, потому что за пределами моего класса нет ничего, что потребляет его.Хотелось бы, чтобы у меня было лучшее решение, чем это, но сейчас я в тупике.