注意事项:
1)执行修改操作时
1.如果数据库设置了某个字段例如myModual为必填,请在注解里加nullable = false
①如果编辑页没有myModual这个字段,请在数据库设置myModual的默认值。
或者例如creator是新建后以后都不会改变的,可这样设置
@Column(name = "CREATOR", nullable = false, updatable = false)
private String creator;
②如果是时间格式的字段,例如createTime,可这样设置
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CREATE_TIME", updatable = false)
private Date createTime = new Date();
③在执行jpql更新时报node to traverse cannot be null错误
一般是你sql语句写错了。
比如把:from写成form了;
还有比如set A = 1 and B = 2,应该是不用and,而是用逗号隔开;
以下正确示例:
@Modifying
@Transactional
@Query("update DfOperationCorrection t set t.status='2',t.updateTime=CURRENT_TIMESTAMP() where t.id in (:correctionIdList)")
void uniqDfoPatent(@Param("correctionIdList") List<Long> correctionIdList);