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: 我有一个多数据源配置。
我想知道为什么 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: 我有一个多数据源配置。