1 package net.sumaris.core.model.technical.extraction.rdb;
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.dao.technical.model.IEntity;
28 import net.sumaris.core.dao.technical.schema.DatabaseTableEnum;
29
30 import javax.persistence.*;
31 import java.io.Serializable;
32
33 @Data
34 @FieldNameConstants
35 @Entity
36 @Table(name = "p01_rdb_species_list")
37 public class ProductRdbSpeciesList implements Serializable, IEntity<Integer> {
38
39 public static final DatabaseTableEnum TABLE = DatabaseTableEnum.P01_RDB_SPECIES_LIST;
40
41 public static final String COLUMN_SAMPLING_TYPE = ProductRdbStation.COLUMN_SAMPLING_TYPE;
42 public static final String COLUMN_VESSEL_FLAG_COUNTRY = ProductRdbStation.COLUMN_VESSEL_FLAG_COUNTRY;
43 public static final String COLUMN_LANDING_COUNTRY = ProductRdbStation.COLUMN_LANDING_COUNTRY;
44 public static final String COLUMN_YEAR = ProductRdbStation.COLUMN_YEAR;
45 public static final String COLUMN_PROJECT = ProductRdbStation.COLUMN_PROJECT;
46 public static final String COLUMN_TRIP_CODE = ProductRdbStation.COLUMN_TRIP_CODE;
47 public static final String COLUMN_STATION_NUMBER = ProductRdbStation.COLUMN_STATION_NUMBER;
48
49 public static final String COLUMN_SPECIES = "species";
50 public static final String COLUMN_SEX = "sex";
51 public static final String COLUMN_CATCH_CATEGORY = "catch_category";
52 public static final String COLUMN_LANDING_CATEGORY = "landing_category";
53 public static final String COLUMN_COMMERCIAL_SIZE_CATEGORY_SCALE = "comm_size_cat_scale";
54 public static final String COLUMN_COMMERCIAL_SIZE_CATEGORY = "comm_size_cat";
55 public static final String COLUMN_SUBSAMPLING_CATEGORY = "subsampling_category";
56 public static final String COLUMN_WEIGHT= "weight";
57 public static final String COLUMN_SUBSAMPLING_WEIGHT = "subsampling_weight";
58 public static final String COLUMN_LENGTH_CODE = "length_code";
59
60 @Id
61 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "p01_rdb_species_list_seq")
62 @SequenceGenerator(name = "p01_rdb_species_list_seq", sequenceName="p01_rdb_species_list_seq")
63 private Integer id;
64
65 @Column(nullable = false, length = 2, name = COLUMN_SAMPLING_TYPE)
66 private String samplingType;
67
68 @Column(nullable = false, length = 3, name = COLUMN_LANDING_COUNTRY)
69 private String landingCountry;
70
71 @Column(nullable = false, length = 3, name = COLUMN_VESSEL_FLAG_COUNTRY)
72 private String vesselFlagCountry;
73
74 @Column(nullable = false, scale = 4, name = COLUMN_YEAR)
75 private Integer year;
76
77 @Column(nullable = false, name = COLUMN_PROJECT)
78 private String project;
79
80 @Column(nullable = false, name = COLUMN_TRIP_CODE, length = 50)
81 private String tripCode;
82
83 @Column(name = COLUMN_STATION_NUMBER, scale=6)
84 private Integer stationNumber;
85
86
87 @Column(nullable = false, length = 100, name = COLUMN_SPECIES)
88 private String species;
89
90 @Column(nullable = false, length= 25, name = COLUMN_CATCH_CATEGORY)
91 private String catchCategory;
92
93 @Column(nullable = false, length = 25, name = COLUMN_LANDING_CATEGORY)
94 private String landingCategory;
95
96 @Column(length = 25, name = COLUMN_COMMERCIAL_SIZE_CATEGORY_SCALE)
97 private String commercialCategoryScale;
98
99 @Column(length = 25, name = COLUMN_COMMERCIAL_SIZE_CATEGORY)
100 private String commercialCategory;
101
102 @Column(length = 25, name = COLUMN_SUBSAMPLING_CATEGORY)
103 private String subsamplingCategory;
104
105 @Column(name = COLUMN_SEX , length=1)
106 private String sex;
107
108 @Column(nullable = false, scale = 12, precision = 2, name = COLUMN_WEIGHT)
109 private Double weight;
110
111 @Column( scale = 12, precision = 2, name = COLUMN_SUBSAMPLING_WEIGHT)
112 private Double subsamplingWeight;
113
114 @Column(length = 5, name = COLUMN_LENGTH_CODE)
115 private String lengthCode;
116 }