ProgramProgressEntity.java
package fr.avenirsesr.portfolio.api.infrastructure.adapter.model;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import java.util.Set;
import java.util.UUID;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Table(name = "program_progress")
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public class ProgramProgressEntity extends AvenirsBaseEntity {
@ManyToOne(optional = false)
private ProgramEntity program;
@ManyToOne(optional = false)
private UserEntity student;
@OneToMany(mappedBy = "programProgress", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<SkillEntity> skills;
public ProgramProgressEntity(
UUID id, ProgramEntity program, UserEntity student, Set<SkillEntity> skills) {
this.setId(id);
this.program = program;
this.student = student;
this.skills = skills;
}
}