Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT RPC、Spring、JPA/Hibernate-回调方法为空_Hibernate - Fatal编程技术网

GWT RPC、Spring、JPA/Hibernate-回调方法为空

GWT RPC、Spring、JPA/Hibernate-回调方法为空,hibernate,Hibernate,这是我的第一个应用程序。我在gwt(rpc)和我的db(MySQL)之间有问题。JUnit测试运行良好。这是我的密码: 客户端包: UserService.Util.getInstance().addUser("kuba","tajne", new AsyncCallback<Long>() { @Override public void onFailure(Throwable arg0) { Window.alert("get se nezdaril" + arg0); }

这是我的第一个应用程序。我在gwt(rpc)和我的db(MySQL)之间有问题。JUnit测试运行良好。这是我的密码:

客户端包:

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);
}

}

});
UserService.Util.getInstance().addUser(“kuba”,“tajne”,
新的AsyncCallback(){
@凌驾
失败时公共无效(可丢弃arg0){
Window.alert(“获取se nezdaril”+arg0);
}
@凌驾
成功时公共无效(长id){
if(id==null){
窗口警报(“空”);
}否则{
Window.alert(“zapsano do db;id=“+id”);
}
}
});
此方法必须返回新用户的id,但返回null(在方法onSuccess(Long id)中)

我没有一些错误日志。我几乎什么都试过了。
非常感谢您提供的一些想法或解决方案。

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


如果您想使用persist(),那么您可能也应该阅读。

不幸的是,这并没有解决我的问题:-/。我可以问你。。。为什么我的测试是功能性的,而调用gwt不是?我不明白。非常感谢:)1)相关ID在您的日志(UserServiceImpl)中可见吗?2) 您的测试调用us.addUser(null,“secret”)(例如),它将返回null,因为您检查了两个参数的!=null,在创建帐户之前,返回值最初设置为null。我没有严格地运行它们,因为您可以在现有的MySQL数据库上执行它们(内存中的DB会更好)。在web.xml:mode=“aspectj”中,解决了我的问题
@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);