我有以下课程:
public void testCreatePerson() {
Person p1 = new Person();
em.persist(p1);
p1.setName("John Doe");
}
}
以及以下单元测试方法:
Hibernate: insert into Person (name, id) values (?, ?)
Hibernate: update Person set name=? where id=?
当我执行此测试时,Hibernate会生成两个查询:
em.persist(p1);
我不清楚为什么需要生成两个查询(插入和更新),而不是简单的插入。有没有人有想法?
谢谢,
ps:如果我改变p1.setName("John Doe");
和end = 120;
for (end; end >=0; end--){
printf("\r");
int num = end / 60;
int nums = end % 60;
printf(" %d : %.2d ", num, nums);
sleep(1);
if(num == 0 && nums == 0){
printf("\n\nTIME'S UP! GAMEOVER!");
sleep(2);
}
}
的顺序,那么只生成一个插入,但在我看来它不重要,因为相同的deferred插入可以用于两种情况。