View Javadoc
1   package net.sumaris.core.model.referential.location;
2   
3   /*-
4    * #%L
5    * SUMARiS:: Core
6    * %%
7    * Copyright (C) 2018 SUMARiS Consortium
8    * %%
9    * This program is free software: you can redistribute it and/or modify
10   * it under the terms of the GNU General Public License as
11   * published by the Free Software Foundation, either version 3 of the
12   * License, or (at your option) any later version.
13   * 
14   * This program is distributed in the hope that it will be useful,
15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   * GNU General Public License for more details.
18   * 
19   * You should have received a copy of the GNU General Public
20   * License along with this program.  If not, see
21   * <http://www.gnu.org/licenses/gpl-3.0.html>.
22   * #L%
23   */
24  
25  import lombok.Data;
26  import lombok.experimental.FieldNameConstants;
27  
28  import javax.persistence.*;
29  import java.io.Serializable;
30  import java.util.Date;
31  
32  @Data
33  @FieldNameConstants
34  @Entity
35  @Table(name = "location_hierarchy")
36  public class LocationHierarchy implements Serializable {
37  
38      @Column(name = "update_date")
39      private Date updateDate;
40  
41      @Column(name = "child_surface_ratio", nullable = false)
42      private Double childSurfaceRatio;
43  
44      @Column(name = "is_main_association", nullable = false)
45      private Boolean isMainAssociation;
46  
47      private String description;
48  
49      @Id
50      @ManyToOne(fetch = FetchType.LAZY)
51      @JoinColumn(name = "child_location_fk")
52      private Location childLocation;
53  
54      @Id
55      @ManyToOne(fetch = FetchType.LAZY)
56      @JoinColumn(name = "parent_location_fk")
57      private Location parentLocation;
58  }