У меня есть вопрос относительно сопоставления JPA OR между двумя постоянными сущностями с другим параметром CascadeType в их аннотациях.
Чтобы прояснить ситуацию, вот простой пример:
@Entity
public class Article
{
@Id
@GeneratedValue
private Long id;
@ManyToOne( cascade = CascadeType.ALL )
private Author author;
// Getters and Setters follow here
}
_
@Entity
public class Author
{
@Id
@GeneratedValue
private Long id;
@OneToMany( mappedBy = "author", cascade = CascadeType.REFRESH,
orphanRemoval = true )
private List< Article > articles;
// Getters and Setters follow here
}
Как видите, свойство "author" имеет другой набор CascadeType
(CascadeType.REFRESH), затем свойство "Articles" (CascadeType.ALL). Сначала я подумал, что другой CascadeType для того же сопоставления свойств недопустим, но я попробовал это сделать, и это разрешено.
Теперь я хотел бы знать, как это ведет себя? И имеет ли такой (искусственный) пример какой-либо смысл (как вы видите, это скорее теоретический вопрос)?
Большое спасибо за вашу помощь!