Advertisement
TemmieDS

Untitled

Oct 17th, 2019
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.91 KB | None | 0 0
  1. /**
  2.  * A Nugget.
  3.  */
  4. @Entity
  5. @Table(name = "nugget")
  6. @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
  7. public class Nugget implements Serializable {
  8.  
  9.     private static final long serialVersionUID = 1L;
  10.  
  11.     @Id
  12.     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
  13.     @SequenceGenerator(name = "sequenceGenerator")
  14.     private Long id;
  15.  
  16.     @Column(name = "name")
  17.     private String name;
  18.  
  19.     @Column(name = "external_id")
  20.     private String externalID;
  21.  
  22.     @Column(name = "url")
  23.     private String url;
  24.  
  25.     @Column(name = "training_days")
  26.     private Integer trainingDays;
  27.  
  28.     @Column(name = "cost_per_employee", precision = 21, scale = 2)
  29.     private BigDecimal costPerEmployee;
  30.  
  31.     @Enumerated(EnumType.STRING)
  32.     @Column(name = "category")
  33.     private LearningCategory category;
  34.  
  35.     @Column(name = "created_at")
  36.     private Instant createdAt;
  37.  
  38.     @Column(name = "updated_at")
  39.     private Instant updatedAt;
  40.  
  41.     @ManyToOne
  42.     @JsonIgnoreProperties("learningNuggets")
  43.     private LearningPartner partner;
  44.  
  45.     @ManyToMany(mappedBy = "nuggets")
  46.     @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
  47.     @JsonIgnore
  48.     private Set<HalfYear> halfYears = new HashSet<>();
  49. }
  50.  
  51. //------------------------------------------------------------------------------------//
  52.  
  53. /**
  54.  * A HalfYear.
  55.  */
  56. @Entity
  57. @Table(name = "half_year")
  58. @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
  59. public class HalfYear implements Serializable {
  60.  
  61.     private static final long serialVersionUID = 1L;
  62.  
  63.     @Id
  64.     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
  65.     @SequenceGenerator(name = "sequenceGenerator")
  66.     private Long id;
  67.  
  68.     @Column(name = "number")
  69.     private Integer number;
  70.  
  71.     @Enumerated(EnumType.STRING)
  72.     @Column(name = "status")
  73.     private HalfYearStatus status;
  74.  
  75.     @Column(name = "created_at")
  76.     private Instant createdAt;
  77.  
  78.     @Column(name = "updated_at")
  79.     private Instant updatedAt;
  80.  
  81.     @ManyToMany
  82.     @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
  83.     @JoinTable(name = "half_year_employees",
  84.                joinColumns = @JoinColumn(name = "half_year_id", referencedColumnName = "id"),
  85.                inverseJoinColumns = @JoinColumn(name = "employees_id", referencedColumnName = "id"))
  86.     private Set<Employee> employees = new HashSet<>();
  87.  
  88.     @ManyToMany
  89.     @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
  90.     @JoinTable(name = "half_year_nuggets",
  91.                joinColumns = @JoinColumn(name = "half_year_id", referencedColumnName = "id"),
  92.                inverseJoinColumns = @JoinColumn(name = "nuggets_id", referencedColumnName = "id"))
  93.     @OrderColumn(name = "NUGGET_ORDER")
  94.     private Set<Nugget> nuggets = new HashSet<>();
  95.  
  96.     @ManyToOne
  97.     @JsonIgnoreProperties("halfYears")
  98.     private Company company;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement