Java SpringBoot JPA, вызывающий deleteById() для объекта с дочерними элементами oneToMany() и родительским элементом oneJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java SpringBoot JPA, вызывающий deleteById() для объекта с дочерними элементами oneToMany() и родительским элементом one

Сообщение Anonymous »

Я настраиваю простую иерархию: Родитель, Дочерний элемент, Дочерний элемент. у родителя есть один дочерний элемент, у дочернего элемента есть дочерние элементы 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»