Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * A Nugget.
- */
- @Entity
- @Table(name = "nugget")
- @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
- public class Nugget implements Serializable {
- private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
- @SequenceGenerator(name = "sequenceGenerator")
- private Long id;
- @Column(name = "name")
- private String name;
- @Column(name = "external_id")
- private String externalID;
- @Column(name = "url")
- private String url;
- @Column(name = "training_days")
- private Integer trainingDays;
- @Column(name = "cost_per_employee", precision = 21, scale = 2)
- private BigDecimal costPerEmployee;
- @Enumerated(EnumType.STRING)
- @Column(name = "category")
- private LearningCategory category;
- @Column(name = "created_at")
- private Instant createdAt;
- @Column(name = "updated_at")
- private Instant updatedAt;
- @ManyToOne
- @JsonIgnoreProperties("learningNuggets")
- private LearningPartner partner;
- @ManyToMany(mappedBy = "nuggets")
- @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
- @JsonIgnore
- private Set<HalfYear> halfYears = new HashSet<>();
- }
- //------------------------------------------------------------------------------------//
- /**
- * A HalfYear.
- */
- @Entity
- @Table(name = "half_year")
- @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
- public class HalfYear implements Serializable {
- private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
- @SequenceGenerator(name = "sequenceGenerator")
- private Long id;
- @Column(name = "number")
- private Integer number;
- @Enumerated(EnumType.STRING)
- @Column(name = "status")
- private HalfYearStatus status;
- @Column(name = "created_at")
- private Instant createdAt;
- @Column(name = "updated_at")
- private Instant updatedAt;
- @ManyToMany
- @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
- @JoinTable(name = "half_year_employees",
- joinColumns = @JoinColumn(name = "half_year_id", referencedColumnName = "id"),
- inverseJoinColumns = @JoinColumn(name = "employees_id", referencedColumnName = "id"))
- private Set<Employee> employees = new HashSet<>();
- @ManyToMany
- @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
- @JoinTable(name = "half_year_nuggets",
- joinColumns = @JoinColumn(name = "half_year_id", referencedColumnName = "id"),
- inverseJoinColumns = @JoinColumn(name = "nuggets_id", referencedColumnName = "id"))
- @OrderColumn(name = "NUGGET_ORDER")
- private Set<Nugget> nuggets = new HashSet<>();
- @ManyToOne
- @JsonIgnoreProperties("halfYears")
- private Company company;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement