Series.java
package com.newbit.column.domain;
import com.newbit.user.entity.Mentor;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.*;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "series")
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@Builder
public class Series {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long seriesId;
private String title;
private String description;
private String thumbnailUrl;
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "mentor_id")
private Mentor mentor;
@OneToMany(mappedBy = "series", cascade = CascadeType.PERSIST)
private List<Column> columns = new ArrayList<>();
public void update(String title, String description, String thumbnailUrl) {
this.title = title;
this.description = description;
this.thumbnailUrl = thumbnailUrl;
}
}