나는 이탈리아어이고 나는 나의 영어에 대해 사과한다.최대 절전 모드 : 나는 아이들을 삭제하고 싶지 않다
내 Db에서 상위 및 하위 테이블을 두 개의 POJO 클래스가 있습니다.
학부모 Persona.java
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "nome", length = 30, nullable = false)
private String nome;
@Column(name = "cognome", length = 30, nullable = false)
private String cognome;
@Column(name = "eta")
private int eta;
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.REFRESH}, mappedBy = "persona", orphanRemoval = false)
@Column(nullable = true)
private List<Telefono> numeriDiTelefono;
// Others getters and setters
어린이. Telefono.java
@Id
@Column(name = "numero_telefono")
private String numeroDiTelefono;
@Column(name = "tipo")
private String tipo;
@ManyToOne(cascade = {CascadeType.REMOVE, CascadeType.PERSIST })
@JoinColumn(name = "persona_id", nullable = true)
private Persona persona;
// Others getters and setters
나는 데이터베이스에 이러한 클래스를 매핑에 대한 주석을 사용했다.
데이터베이스에서 페르소나를 삭제하려고 할 때 해당 페르소나와 연결된 Telefono를 최대 절전 모드로 만들면 원치 않을 것입니다. 나는 자식 참조가 Telefono 테이블의 persona_id 필드에 null 값을 가지고 있는데 그 결과를 얻는 방법을 알고 싶습니다. 어떤 특수 효과를 사용해야합니까? 모두에게 감사드립니다.
@ManyToOne의 매핑에서 CascadeType.REMOVE를 제거하면 자식을 삭제하지 않습니다. 너 그거 해봤 니? –
답변 주셔서 감사합니다 ... 예,이 경우 시도하지만이 경우에는 아무 것도 삭제되지 않습니다. – skytron87