“mitao”
2026-03-25 309b5eb17c510c781daec96bbfef3b693f3a4d7e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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<User> groupLeaders;
 
    /**
     * 组员
     */
    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "task_group_member",
            joinColumns = @JoinColumn(name = "task_id"),
            inverseJoinColumns = @JoinColumn(name = "user_id"))
    private Set<User> groupMembers;
 
    /**
     * 司机
     */
    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "task_driver",
            joinColumns = @JoinColumn(name = "task_id"),
            inverseJoinColumns = @JoinColumn(name = "user_id"))
    private List<User> drivers;
 
    /**
     * 用车信息
     */
    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "task_car",
            joinColumns = @JoinColumn(name = "task_id"),
            inverseJoinColumns = @JoinColumn(name = "car_id"))
    private List<Car> cars;
}