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