【发布时间】:2016-01-09 20:27:10
【问题描述】:
我是 Hibernate 的新手,我有以下疑问。
进入一个名为TWP1007_PROGETTO的数据库表中我有这一行(但此时内容并不重要):
PRG_PRO COD_MEC_ATT DAT_ANN_SCO_ATT COD_MEC_INI_PRO COD_PRO IMP_FIN COD_TIP_STA FLG_TIP_PRG PRG_GRA_WIF PRG_GRA_PNS FLG_PRE_FIR_DIR FLG_PRE_FIR_REV DAT_INS_REN DESC_NOM_FIL_REN OGG_FIL_REN DAT_VAL DES_NOT_VAL DAT_TRA_UFF_LIQ IMP_TOT_SPE IMP_SAL DES_NOM_UTE_VAL DES_NOM_DIR_REN DAT_ORA_ULT_MOV COD_PGM_ULT_MOV COD_UTE_ULT_MOV
2 AGIS018009 201516 AGIS018009 Progetto Wifi 7980,00 4 W 2 null 12/10/2015 00:00:00 Rimesso in lavorazione user.name
然后,进入 Spring MVC service 类,我创建了这个方法来更新该表的记录:
public void rimettiInLavorazioneProgetto(Twp1007Progetto progetto) {
progettoRepo.save(progetto);
}
其中(Twp1007Progetto progetto 是映射 TWP1007_PROGETTO 表的对象)。
所以你可以在前面的方法中看到我使用 save() 休眠方法。
它可以正常工作并且记录已正确更新,但这似乎很奇怪,因为据我了解 save() 方法必须创建一个新记录,而 update() 方法必须更新现有记录。
那么为什么它会起作用?为什么它会正确更新现有记录?
Tnx
【问题讨论】:
标签: java hibernate orm spring-data