jpa默认只有save(Entity)方法,如果数据库中没有记录就新增,如果数据库中有记录就更新记录。
如果要手动添加update(Entity)方法,可以参考这个例子:
-
-
@Transactional
@Query(value = "UPDATE SmallFileEntity s SET s.length = '#{entity.getLength()}' , s.modificationTime = '#{entity.getModificationTime()}', s.accessTime = '#{entity.getAccessTime()}' WHERE s.autoId = '#{entity.getAutoId()}' ", nativeQuery = false)
-
void updateLengthAndModificationTimeAndAccessTime(SmallFileEntity entity);
|
上例的重点是将EL表达式用单括号括起来。EL表达式中是可以书写java语句的,在@Query注解中,EL表达式可以取到参数列表中的对象。
实在不行的话,就nativeQuery = true。