Я настраиваю простую иерархию: Родитель, Дочерний элемент, Дочерний элемент. у родителя есть один дочерний элемент, у дочернего элемента есть дочерние элементы oneToMany. Я вызываю childRepository.deleteById(), он не удаляет ни дочерний, ни дочерний элементы и не выдает ошибку. Минимальная настройка для воспроизведения проблемы:
Parent.Java:
@Entity
@Table(name = "PARENT")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Parent {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToOne(mappedBy = "parent", cascade = CascadeType.ALL, orphanRemoval = true)
private Child oneChild;
}
Child.Java:
@Entity
@Table(name = "CHILD")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Child {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "child", cascade = CascadeType.ALL, orphanRemoval = true)
private Set subChilds = new HashSet();
@OneToOne
@JoinColumn(name = "PARENT_ID")
private Parent parent;
}
SubChild.Java:
@Entity
@Table(name = "SUBCHILD")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SubChild {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "CHILD_ID")
@EqualsAndHashCode.Exclude
private Child child;
}
controller.Java:
private final ChildRepository childRepository;
public void deleteChild(Long id) {
childRepository.deleteById(id);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -childs-an
Java SpringBoot JPA, вызывающий deleteById() для объекта с дочерними элементами oneToMany() и родительским элементом one ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли способ использовать Jackson ObjectMapper, чтобы прочитать объект из JSON One One One
Anonymous » » в форуме JAVA - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-
-
-
DeleteById() выдает исключение JdbcSQLIntegrityConstraintViolationException с помощью JPA
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
DeleteById() выдает исключение JdbcSQLIntegrityConstraintViolationException с помощью JPA
Anonymous » » в форуме JAVA - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-