1 package net.sumaris.core.model.administration.programStrategy;
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 import java.util.Objects;
33
34 @Data
35 @FieldNameConstants
36 @Entity
37 @Cacheable
38 @Table(name="acquisition_level")
39 public class AcquisitionLevel implements IItemReferentialEntity {
40
41 @Id
42 @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "ACQUISITION_LEVEL_SEQ")
43 @SequenceGenerator(name = "ACQUISITION_LEVEL_SEQ", sequenceName="ACQUISITION_LEVEL_SEQ")
44 private Integer id;
45
46 @ManyToOne(fetch = FetchType.LAZY)
47 @JoinColumn(name = "status_fk", nullable = false)
48 private Status status;
49
50 @Column(name = "creation_date", nullable = false)
51 @Temporal(TemporalType.TIMESTAMP)
52 private Date creationDate;
53
54 @Column(name = "update_date")
55 @Temporal(TemporalType.TIMESTAMP)
56 private Date updateDate;
57
58 @Column(nullable = false, length = IItemReferentialEntity.LENGTH_LABEL)
59 private String label;
60
61 @Column(nullable = false, length = IItemReferentialEntity.LENGTH_NAME)
62 private String name;
63
64 private String description;
65
66 @Column(length = IItemReferentialEntity.LENGTH_COMMENTS)
67 private String comments;
68
69 public int hashCode() {
70 return Objects.hash(label);
71 }
72
73 }