package com.estate.expert.admin.domain.exam.task; import com.estate.expert.admin.domain.business.car.Car; import com.estate.expert.admin.domain.common.EntityBase; import com.estate.expert.admin.domain.user.User; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDate; import java.util.List; import java.util.Set; /** * 任务表 */ @Getter @Setter @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "task_type", discriminatorType = DiscriminatorType.STRING) public class Task extends EntityBase { /** * 复查时间 */ private LocalDate date; /** * 集合地点 */ private String assemblePlace; /** * 组长 */ @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "task_group_leader", joinColumns = @JoinColumn(name = "task_id"), inverseJoinColumns = @JoinColumn(name = "user_id")) private Set groupLeaders; /** * 组员 */ @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "task_group_member", joinColumns = @JoinColumn(name = "task_id"), inverseJoinColumns = @JoinColumn(name = "user_id")) private Set groupMembers; /** * 司机 */ @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "task_driver", joinColumns = @JoinColumn(name = "task_id"), inverseJoinColumns = @JoinColumn(name = "user_id")) private List drivers; /** * 用车信息 */ @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "task_car", joinColumns = @JoinColumn(name = "task_id"), inverseJoinColumns = @JoinColumn(name = "car_id")) private List cars; }