I have entity User:
@Entity
@Table(name = "users")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name = "name", nullable = false)
private String name;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "parentid", cascade=CascadeType.ALL)
private List<Lesson> lessonList=new ArrayList<>();
}
and entity Lesson
@Entity
@Table(name = "lesson")
public class Lesson{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name = "name", nullable = false)
private String name;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parentid")
private User parentid;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "parentid2", cascade=CascadeType.ALL)
private List<Exercise> exerciseList=new ArrayList<>();
}
I need to make a copy(deep copy) of lesson of user1 and add this copy to another user2. In the end I need user1 has lesson and user2 has copy of lesson.