我将 Jackson 2.2.0 和 Spring 3.2.0 与 Hibernate 4.2.2 一起使用。
我最近不得不通过 POST 向服务器发送一组对象:
{"cancelationDate":"2013-06-05",
"positions":[
{"price":"EUR 12.00",
"count":1},
{"price":"EUR 99.00",
"count":1}
]
}
我的课程如下所示:
public class Bill extends {
LocalDate cancelationDate;
Set<Position> positions;
...
}
和:
public class Position {
Integer count;
BigMoney price;
@JsonIgnore
Bill bill;
...
}
当我打电话bill.getPositions().size()
时它告诉我1
。
如果我使用它List<Position>
代替Set<Position>
它会很好。那么有什么问题Set
呢?
谢谢 :)
等于和哈希码:
public int hashCode() {
final int prime = 31;
int result = 1;
result = (int) (prime * result + ((id == null) ? 0 : id.hashCode()));
return result;
}
public boolean equals(Object obj) {
if (obj == this)
return true;
if (!(obj instanceof Position))
return false;
Position equalCheck = (Position) obj;
if ((id == null && equalCheck.id != null) || (id != null && equalCheck.id == null))
return false;
if (id != null && !id.equals(equalCheck.id))
return false;
return true;
}