+- tk.mybatis:mapper-spring-boot-starter:jar:1.2.3:compile [INFO] | +- tk.mybatis:mapper-spring-boot-autoconfigure:jar:1.2.3:compile [INFO] | \- tk.mybatis:mapper:jar:3.5.2:compile [INFO] | \- javax.persistence:persistence-api:jar:1.0:compile,如何引入依赖,使项目可以使用orphanRemoval?
时间: 2023-07-16 08:16:34 浏览: 441
要使用 `orphanRemoval` 功能,需要使用 JPA 的实现库,比如 Hibernate。
你可以在你的项目中引入 Hibernate 的 JPA 实现库,然后将 `orphanRemoval` 属性设置为 `true` 即可。以下是一个示例依赖:
```xml
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.32.Final</version>
</dependency>
```
在实体类中,你可以使用 `@OneToMany` 注解来指定一对多关系,并将 `orphanRemoval` 属性设置为 `true`,以便在删除父实体时自动删除子实体。例如:
```java
@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Child> children = new ArrayList<>();
// ...
}
@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
private Parent parent;
// ...
}
```
上面的代码中,当删除 `Parent` 实体时,与之相关联的 `Child` 实体也会被自动删除。
阅读全文