SpringBoot 2.1.4.RELEASE中的Spring Data JPA不删除

时间:2019-05-15 07:40:33

标签: spring hibernate spring-boot jpa spring-data-jpa

我在服务上定义了此方法

@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

但是当我运行删除一些商店的方法时,控制台中没有看到任何删除语句,并且商店也没有被删除

2 个答案:

答案 0 :(得分:0)

您需要在调用@Transactional方法的任何其他方法之上添加delete(Shop shop)注释。例如:

@Transactional
private void test() {
   this.delete(shop);
}

答案 1 :(得分:0)

您需要提供存储库类和purchaseService对象信息。如果您要清除列表,那么为什么要删除它呢?请同时提供更多信息以帮助您。