我创建了一个查询,该查询选择列为空的所有用户:
@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;
}
现在,我想为每个用户设置 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());
}
}
最佳答案
你应该像这样为每个用户 setMath:
public void saveMaths() {
List<User> users = organismeRepository.findByMathWhereNull();
// TODO
for(User user : users){
int math = calculate(user);
user.setMath(math);
}
关于sql - Spring 启动和 hibernate : update all column's rows where entry is null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68891660/