Spring 数据 jpa deleteAllByField 不工作

Spring data jpa deleteAllByField not working

我想知道为什么 deleteAllByField 不起作用。此方法在@Transactional 服务层中调用。通过使用 jpa 记录 hql 查询,不会记录任何内容。 这是存储库和服务的样子:

@Repository
public interface FooRepository extends JpaRepository<Foo,Long> {
    void deleteAllByField(String field)
}

@Service
@Transactional
public FooService {
    @Autowired
    FooRepository fooRep;

    public void deleteAllByField(String field) {
        fooRep.deleteAllByField(field);
    }
}

当使用内置的 deleteAll() 时,记录被删除,我可以看到打印的 hql 查询。

我在存储库的方法级别添加了@Transactional,它起作用了。

我很困惑。有人可以澄清这种行为吗?

经过调查,我注意到我创建了一个客户事务管理器。在服务层上添加@Transactional(''customTransactionManager'') 后它起作用了。

Ps: 我有一个多数据源配置。