1 package net.sumaris.core.model.referential.grouping;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import lombok.Data;
26 import lombok.experimental.FieldNameConstants;
27 import net.sumaris.core.model.referential.IItemReferentialEntity;
28 import net.sumaris.core.model.referential.Status;
29
30 import javax.persistence.*;
31 import java.util.Date;
32
33
34
35
36
37
38
39
40
41
42
43
44 @Data
45 @FieldNameConstants
46 @Entity
47 @Table(name = "grouping_level")
48 public class GroupingLevel implements IItemReferentialEntity {
49
50 @Id
51 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GROUPING_LEVEL_SEQ")
52 @SequenceGenerator(name = "GROUPING_LEVEL_SEQ", sequenceName="GROUPING_LEVEL_SEQ")
53 private Integer id;
54
55 @ManyToOne(fetch = FetchType.LAZY)
56 @JoinColumn(name = "status_fk", nullable = false)
57 private Status status;
58
59 @Column(name = "creation_date", nullable = false)
60 @Temporal(TemporalType.TIMESTAMP)
61 private Date creationDate;
62
63 @Column(name = "update_date")
64 @Temporal(TemporalType.TIMESTAMP)
65 private Date updateDate;
66
67 @Column(nullable = false, length = LENGTH_LABEL)
68 private String label;
69
70 @Column(nullable = false, length = LENGTH_NAME)
71 private String name;
72
73 private String description;
74
75 @Column(length = LENGTH_COMMENTS)
76 private String comments;
77
78 @ManyToOne(fetch = FetchType.LAZY)
79 @JoinColumn(nullable = false, name = "grouping_classification_fk")
80 private GroupingClassification groupingClassification;
81
82 @ManyToOne(fetch = FetchType.LAZY)
83 @JoinColumn(name = "parent_grouping_level_fk")
84 private GroupingLevel parentGroupingLevel;
85
86
87 }