我在服务上定义了此方法
@Transactional
public void delete(Shop shop) {
if (LOG.isDebugEnabled()) {
LOG.debug("deleting Shop1 [ " + shop + " ]");
}
shop.getPurchases().stream()
.forEach(p -> purchaseService.delete(p));
shop.getPurchases().clear();
if (LOG.isDebugEnabled()) {
LOG.debug("deleting Shop2 [ " + shop + " ]");
}
shopRepository.delete(shop);
}
我还定义了以下属性:
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
hibernate.dialect=org.hibernate.dialect.MySQLDialect
但是当我运行删除一些商店的方法时,控制台中没有看到任何删除语句,并且商店也没有被删除
答案 0 :(得分:0)
您需要在调用@Transactional
方法的任何其他方法之上添加delete(Shop shop)
注释。例如:
@Transactional
private void test() {
this.delete(shop);
}
答案 1 :(得分:0)
您需要提供存储库类和purchaseService对象信息。如果您要清除列表,那么为什么要删除它呢?请同时提供更多信息以帮助您。