エンティティの単純な整数値をインクリメントし、変更をdbに永続化する必要があるメソッドがejb部分にあります。常に同じ値を出力するため、動作させることができません。
コードは次のとおりです。
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です
これは明らかに間違っています!
どこが間違っているのですか?