Java 在hibernate注释中使用session.flush()时执行插入和更新查询

Java 在hibernate注释中使用session.flush()时执行插入和更新查询,java,hibernate,Java,Hibernate,我使用的是hibernate注释,当我使用session.flush时,同时执行insert和update查询 ChequeTr chequeTr = new ChequeTr(); chequeTr.setPrnNo("1234561452"); . .//more values set . chequeTr.setContNo("25874123"); session.save(chequeTr); session.flush(); trans.commit(); 休眠: inse

我使用的是hibernate注释,当我使用session.flush时,同时执行insert和update查询

ChequeTr chequeTr = new ChequeTr();
chequeTr.setPrnNo("1234561452");
 .
 .//more values set
 .

chequeTr.setContNo("25874123");
session.save(chequeTr);
session.flush();
trans.commit();
休眠:

insert into CHEQUE_TR_NEW (AWB_NO, BRANCH_CODE, UNIQUE_ID, CONT_NO,  
  CREATED_BY, CREATED_ON, DISPATCH_DATE, DISPATCH_MODE, DISPATCH_TYPE,  
  PRN_NO, RECEIVED_BY, RELATIONSHIP_MOBILE, REMARKS, RTO_REASON_CODE,  
  STAGE_DATE, STAGE, STAGE_REV_REMARKS, CHEQUE_TR_ID) 
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
休眠:

update CHEQUE_TR_NEW  
set AWB_NO=?, BRANCH_CODE=?, UNIQUE_ID=?, CONT_NO=?,  
  CREATED_BY=?, CREATED_ON=?, DISPATCH_DATE=?, DISPATCH_MODE=?,  
  DISPATCH_TYPE=?, PRN_NO=?, RECEIVED_BY=?, RELATIONSHIP_MOBILE=?,  
  REMARKS=?, RTO_REASON_CODE=?, STAGE_DATE=?, STAGE=?, STAGE_REV_REMARKS=?  
where CHEQUE_TR_ID=?

有人能指导我吗?

这是你的问题吗?你期望什么?我同意我期望它做一次。会话刷新模式是否已更改?我想了解这个概念。。如果我使用的是session.save,则在逻辑上只执行insert查询。。但为什么要更新查询?这会影响性能。。