我得到了一个java.lang.IllegalArgumentException: Result Maps集合已经包含了“error when to to do某些XML mapping on a nested:
我有以下嵌套的类结构:
package com.test;
public class ObjectA {
private List<ObjectB> entries;
public ObjectA(List<ObjectB> entries) {
this.entries = entries;
}
public void setEntries(List<ObjectB> entries) {
this.entries = entries;
}
public List<ObjectB> getEntries() {
return this.entries;
}
public class ObjectB {
private String param1;
public ObjectB(String param1) {
this.param1 = param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}
public String getParam1() {
return this.param1;
}
}
}
xml映射器如下所示:
<resultMap id="ObjectA" type="com.test.ObjectA">
<collection property="entries" resultMap="Entries"/>
</resultMap>
<resultMap id="Entries" type="com.test.ObjectA.ObjectB">
<result property="param1" column="column1"/>
</resultMap>
如果我将ObjectB类放在ObjectA类之外,映射就可以正常工作。但问题是我不想这么做。我想要嵌套它。
谢谢
发布于 2015-03-06 03:25:24
我在这里看到两个问题:
$
,而不是.
。所以你的路径应该是com.test.ObjectA$ObjectB
.com.test.ObjectA.ObjectB
,ObjectB没有默认的构造器,也没有指定构造器映射。除了显式参数之外,请记住内部类始终将其外部类作为隐式构造函数参数,除非将该类声明为静态(public static class ObjectB...
).https://stackoverflow.com/questions/28051240
复制相似问题