下面的值“.2F”不会保留。我没有收到任何错误,但只返回 null。您能否建议对以下代码进行更正或改进?我正在尝试将其保存在 GAE 测试数据库中。
我在尝试使用 EmbeddedMap 时留下了评论,但是,我认为这没有必要,因为我使用的是具有简单类型的 Map。
public class UserBeanApp extends Model {
private static final long serialVersionUID = 1L;
@Id(Generator.AUTO_INCREMENT)
public Long id;
@Unindexed
private RequiredReturnsBean requiredReturns;
public RequiredReturnsBean getReqRetBean() {
if (requiredReturns == null)
requiredReturns = new RequiredReturnsBean();
else
requiredReturns.get();
return requiredReturns;
}
}
public class RequiredReturnsBean extends Model {
@Id(Generator.AUTO_INCREMENT)
public Long id;
// @EmbeddedMap
// public static class RequiredReturn {
// public RequiredReturn(Float requiredReturn) {
// this.val = requiredReturn;
// }
//
// public Float val;
// }
@Unindexed
@Embedded
public Map<Long, Float> requiredReturn = new HashMap<Long, Float>();
public Map<Long, Float> getReqRetMap() {
if (requiredReturn == null) {
requiredReturn = new HashMap<Long, Float>();
}
return requiredReturn;
}
}
... 创造 ...
UserBeanApp bean = get....//already persisted
RequiredReturnsBean rrBean = bean.getReqRetBean();
rrBean.getReqRetMap().put(1L, .2F);
rrBean.save();
... 选择 ...
UserBeanApp bean = get....//already persisted
RequiredReturnsBean rrBean = bean.getReqRetBean();
requiredReturn = rrBean.getReqRetMap().get(1L);//always null
gae-1.6.0 锡耶纳-2.0.6