更新 Spring 存储库的最佳实践

Bad*_*der 5 java spring spring-boot

我有 Spring Repo 类,如下所示:

@Repository
public interface EmployeeRepository
        extends CrudRepository<Employee, Long> {


    @Query("Select s from Employee s where s.Id = ?1")
    Optional<Employee> findEmployeeByID(String Id);


     @Transactional
     @Modifying 
     @Query(" How to DO that")
     UpdateEmployeeDetails()


}
Run Code Online (Sandbox Code Playgroud)

如何有效地更新员工详细信息,因为员工表包含超过 15 个字段,我无法为每个字段编写一个函数,我们如何生成一个具有公共更新逻辑的查询

例如:如果我们只想更新名称,那么UpdateEmployeeDetails()将执行此查询:

UPDATE Employee SET firstName=UPPER(firstName) WHERE id in :ids
Run Code Online (Sandbox Code Playgroud)

如果我们想更新姓名和地址:

UPDATE Employee SET firstName=UPPER(firstName), Address = "Address" WHERE id in :ids
Run Code Online (Sandbox Code Playgroud)

由于存在可能的字段,因此我们希望动态生成查询,因此我们如何有效地做到这一点