我在 ejb 部分有一个方法,它必须增加实体的简单整数值并将更改保存到 db 中。我无法让它工作,因为它总是打印相同的值!
这是代码:
public void incrementDownloads(Dispensa dispensa) {
int dl = dispensa.getDownloads();
System.out.println(dispensa.getTitolo() + " had " + dl + " downloads");
dispensa.setDownloads(dl++);
dispensaFacade.edit(dispensa);
dispensa = dispensaFacade.refresh(dispensa);
System.out.println("now it has " + dispensa.getNumDownloads());
}
其中dispensaFacade
使用的方法是来自自动生成的方法AbstractFacade
:
public void edit(T entity) {
getEntityManager().merge(entity);
}
public T refresh(T entity){
T res = getEntityManager().merge(entity);
getEntityManager().refresh(res);
return res;
}
我的代码打印出来:
标题 1 有 0 次下载
现在它有 0
这显然是错误的!
哪里错了?