GWT RPC,Spring,JPA / Hibernate - 在回调方法上为null

时间:2013-03-01 15:08:24

标签: hibernate

这是我的第一个应用程序。我在gwt(rpc)和我的db(MySQL)之间有问题。 JUnit测试运行得很好。这是我的代码:https://github.com/sutakjakub/game

客户端包:

UserService.Util.getInstance().addUser("kuba","tajne",
new AsyncCallback<Long>() {

@Override
public void onFailure(Throwable arg0) {
Window.alert("get se nezdaril" + arg0);

}

@Override
public void onSuccess(Long id) {
if(id == null){
Window.alert("null");
}else{
Window.alert("zapsano do db; id=" + id);
}

}

});

此方法必须返回新用户的id,但它返回null(在方法 onSuccess(Long id)中)。

我没有一些错误日志。我几乎尝试了一切。 非常感谢你的想法或解决方案。

1 个答案:

答案 0 :(得分:0)

您的saveOrUpdate方法(GenericHibernateJpaDao)不会返回更新的实体:

@Override
public <ENTITY extends AbstractBussinessObject> ENTITY saveOrUpdate(ENTITY o) {
  if(o.getId() == null){
    getEntityManager().persist(o);
  }else{
    getEntityManager().merge(o);
  }
return o;
}

应该成为:

return getEntityManager().merge(o);

如果你想使用persist(),那么你也应该阅读this