1 package net.sumaris.core.model.referential.metier;
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 import net.sumaris.core.model.referential.gear.Gear;
30 import net.sumaris.core.model.referential.taxon.TaxonGroup;
31
32 import javax.persistence.*;
33 import java.util.Date;
34
35
36
37
38
39 @Data
40 @FieldNameConstants
41 @Entity
42 public class Metier implements IItemReferentialEntity {
43
44 @Id
45 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "METIER_SEQ")
46 @SequenceGenerator(name = "METIER_SEQ", sequenceName="METIER_SEQ")
47 private Integer id;
48
49 @ManyToOne(fetch = FetchType.LAZY)
50 @JoinColumn(name = "status_fk", nullable = false)
51 private Status status;
52
53 @Column(name = "creation_date", nullable = false)
54 @Temporal(TemporalType.TIMESTAMP)
55 private Date creationDate;
56
57 @Column(name = "update_date")
58 @Temporal(TemporalType.TIMESTAMP)
59 private Date updateDate;
60
61 @Column(nullable = false, length = LENGTH_LABEL)
62 private String label;
63
64 @Column(nullable = false, length = LENGTH_NAME)
65 private String name;
66
67 private String description;
68
69 @Column(length = LENGTH_COMMENTS)
70 private String comments;
71
72 @ManyToOne(fetch = FetchType.LAZY, targetEntity = Gear.class)
73 @JoinColumn(name = "gear_fk")
74 private Gear gear;
75
76 @ManyToOne(fetch = FetchType.LAZY, targetEntity = TaxonGroup.class)
77 @JoinColumn(name = "taxon_group_fk")
78 private TaxonGroup taxonGroup;
79 }