相关疑难解决方法(0)

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

现在我有一个类User,我arrayjsp或获得了一个请求数据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万
查看次数

为什么我看不到使用Spring Data JPA通过更新查询发出的更改?

我有以下服务:

@Service
public class CamelService {

    @Transactional
    public aCamelThing() {

          Camel camel = this.camelRepository.findOne(1);

          System.out.println(camel.getCamelName());  // prints "normalCamel"

          // simple hql set field 'camelName'
          int res = this.camelRepository.updateCamelName(1,"superCamel!");

          Camel camelWithNewName = this.camelRepository.findOne(1);

          System.out.println(camelWithNewName .getCamelName());  // prints "normalCamel" ?!?!?

    } 
}
Run Code Online (Sandbox Code Playgroud)

我知道如何实现第二张println打印的目标:"superCamel!" ?(将第二次调用与新事务分开并不理想).

java spring jpa spring-data

4
推荐指数
1
解决办法
5805
查看次数