java JPA无法更新实体
我的问题是,当我创建一个借方时,我可以在数据库中看到它的创建,但我后来在方法中更改的“金额”从未反映到DB,我在这里缺少什么
void createDebit(){
Debit debit=new Debit();
entityManager.persist(debit);
entityManager.merge(debit);
entityManager.flush();
//calculate some stuff, do other things
debit.changeAmount(100);
entityManager.merge(debit);
entityManager.flush();
}
# 1 楼答案
在用所需数据设置bean之后,需要持久化数据。第一次持久化时,似乎并没有设置任何内容,所以,若有一些自动生成的键,那个么它在表中是可见的,列的其余部分似乎可以为空。在第二个块中,当您尝试合并时,应该首先获取存储在DB中的数据,然后设置其数量。这应该行得通
虽然我不明白为什么你们要把这样的数据分两个阶段保存