春季启动和休眠:更新条目为空的所有列的行

Posted

技术标签:

【中文标题】春季启动和休眠:更新条目为空的所有列的行【英文标题】:Spring boot and hibernate : update all column's rows where entry is null 【发布时间】:2021-10-23 17:57:54 【问题描述】:

我创建了一个查询,它选择列为空的所有用户:

@Query("SELECT user from User user where user.maths is null")
List <User> findByMathWhereNull();

现在我想用一个简单的方法为每个人计算一些分数:

public int calculate(User user)
        int maths = calculateByResults(user);
        maths += calculateByScore(user.getId());
        maths += calculateByBonus(user.getBonus());
        return maths;
    

现在,我想为每个用户设置数学变量:

public void saveMaths() 
        List<User> users = userRepository.findByMathWhereNull();
        
        // TODO
        // for (maths : user) do something

如何将每个数学结果放在正确的列中?

编辑 - 解决方案:

public void saveIndiceFiabilite() 
        List<User> users = userRepository.findByMathWhereNull();

         for (User user : users) 
             int math = calculateMaths(user);
             user.setMahs(maths);
             userRepository.updateUser(maths, user.getId());
         

    

【问题讨论】:

好的,解决方法在这里(编辑帖子) 【参考方案1】:

你应该像这样为每个用户设置数学:

    public void saveMaths() 
    List<User> users = organismeRepository.findByMathWhereNull();
    
    // TODO
       for(User user : users)
           int math = calculate(user);
           user.setMath(math);
       
    

【讨论】:

是的,这正是我所做的,它就像我在评论中所说的那样完美;)谢谢!

以上是关于春季启动和休眠:更新条目为空的所有列的行的主要内容,如果未能解决你的问题,请参考以下文章

怎样在MATLAB中创建空的N维数组?

MS Access 在所有值中添加空值

休眠 SQL 错误:17002,SQLState:空 Io 异常:连接重置

sql中更新某个字段中部分空值的语句怎样写?

春季提交表单后的空字段

核心数据 NSSet 返回空的对象数组