51 lines
1.2 KiB
Java
51 lines
1.2 KiB
Java
package com.example.nto.entity;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
import jakarta.persistence.*;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
* TODO: ДОРАБОТАТЬ в рамках задания
|
|
* =================================
|
|
* МОЖНО: Добавлять методы, аннотации, зависимости
|
|
* НЕЛЬЗЯ: Изменять название класса и пакета
|
|
*/
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Entity
|
|
@JsonSerialize
|
|
public class Employee {
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private long id;
|
|
|
|
private String name;
|
|
|
|
private String code;
|
|
|
|
private String photoUrl;
|
|
|
|
@OneToMany(mappedBy = "employee", cascade = CascadeType.ALL, fetch = FetchType.LAZY,
|
|
targetEntity = Booking.class)
|
|
@JsonManagedReference
|
|
private List<Booking> bookingList;
|
|
|
|
public Employee(long id, String name, String code, String photoUrl) {
|
|
this.id = id;
|
|
this.name = name;
|
|
this.code = code;
|
|
this.photoUrl = photoUrl;
|
|
}
|
|
|
|
}
|