小编JSO*_*JSO的帖子

如何处理Spring Data JPA中的一系列ID批量删除?

现在我有一个类User,我array从jsp或获得了一个请求数据html.

列出这个 Integer[] arr=[5,6,9,10,62,52,21]

然后我使用两种方法来完成膨胀删除操作.

@Transactional
@Override
public void deleteUser(Integer id) {

    oneRepository.delete(id);
}


@Transactional
@Override
public void deleteSomeUser(Integer[] ids) {

    for (Integer id : ids) {

        deleteUser(id);

    }

}
Run Code Online (Sandbox Code Playgroud)

我想知道如果这是一种更有效的方法来完成这个动作.

你可以看到我的日志:它似乎不太好!

[94, 95, 91, 92, 93]
Hibernate: 
    delete 
    from
        sshh_user 
    where
        ID=?


Hibernate: 
    delete 
    from
        sshh_user 
    where
        ID=?



Hibernate: 
    delete 
    from
        sshh_user 
    where
        ID=?



Hibernate: 
    delete 
    from
        sshh_user 
    where
        ID=?



Hibernate: 
    delete 
    from
        sshh_user 
    where
        ID=?



Hibernate: 
    select
        count(practice0_.ID) as col_0_0_ 
    from
        sshh_user …
Run Code Online (Sandbox Code Playgroud)

hibernate spring-mvc spring-data spring-data-jpa

12
推荐指数
2
解决办法
2万
查看次数

aop.AopInvocationException:来自的空返回值

这是存储库:

@Query(value = "select u.balance from User u where u.name=:name")
float toGetBalance(@Param("name") String name);
Run Code Online (Sandbox Code Playgroud)

这是DAO界面:

boolean checkBalance(String userName, float totalPrice);
Run Code Online (Sandbox Code Playgroud)

这是服务

@Transactional(readOnly = true)
@Override
public boolean checkBalance(String userName, float totalPrice) {

    if (userRepository.toGetBalance(userName) < totalPrice) {

        return false;

    } else {

        return true;

    }

}
Run Code Online (Sandbox Code Playgroud)

这是错误信息:

org.springframework.aop.AopInvocationException: Null return value from advice does not match primitive return type for: public abstract float com.repository.UserRepository.toGetBalance(java.lang.String)
Run Code Online (Sandbox Code Playgroud)

余额类型是浮动的!

怎么了?

spring-mvc

8
推荐指数
1
解决办法
6283
查看次数