source: src/main/java/edu/gjoko/schedlr/entity/Business.java

Last change on this file was 77205be, checked in by gjoko kostadinov <gjokokostadinov@…>, 6 months ago

Add entire code

  • Property mode set to 100755
File size: 1.7 KB
RevLine 
[cf9cdbf]1package edu.gjoko.schedlr.entity;
2
[8bcd64c]3import com.fasterxml.jackson.annotation.JsonIgnore;
[a436340]4import com.fasterxml.jackson.annotation.JsonManagedReference;
[46fd0c7]5import com.fasterxml.jackson.annotation.JsonProperty;
[cf9cdbf]6import lombok.AllArgsConstructor;
7import lombok.Getter;
8import lombok.NoArgsConstructor;
9import lombok.Setter;
[46fd0c7]10import org.springframework.data.annotation.CreatedDate;
11import org.springframework.data.annotation.LastModifiedDate;
12import org.springframework.data.jpa.domain.support.AuditingEntityListener;
[cf9cdbf]13
14import javax.persistence.*;
15import java.time.LocalDateTime;
16import java.util.List;
17
18@Entity
[46fd0c7]19@EntityListeners(AuditingEntityListener.class)
[cf9cdbf]20@Table(name = "business")
21@Getter
22@Setter
23@NoArgsConstructor
24@AllArgsConstructor
25public class Business {
26
27 @Id
28 @GeneratedValue(strategy = GenerationType.SEQUENCE)
29 private Long id;
30
[46fd0c7]31 @Column(name = "company_name")
32 private String companyName;
[cf9cdbf]33
[a436340]34 @OneToOne
35 @JoinColumn(name = "business_type_id", referencedColumnName = "id")
[46fd0c7]36 @JsonProperty("businessType")
[cf9cdbf]37 private BusinessType businessType;
38
[77205be]39 @OneToOne(cascade = CascadeType.PERSIST)
[204464d]40 @JoinColumn(name = "owner_id", referencedColumnName = "id", nullable = false)
[46fd0c7]41 @JsonProperty("owner")
[cf9cdbf]42 private Stakeholder owner;
43
[46fd0c7]44 @OneToMany(mappedBy = "business", cascade = CascadeType.PERSIST)
[77205be]45 @JsonManagedReference(value = "services")
[a436340]46 private List<Service> services;
47
[46fd0c7]48 @Column(name = "business_status")
49 @Enumerated(EnumType.STRING)
50 private BusinessStatus businessStatus;
51
[cf9cdbf]52 @Column(name = "created")
[46fd0c7]53 @CreatedDate
[8bcd64c]54 @JsonIgnore
[cf9cdbf]55 private LocalDateTime created;
56
57 @Column(name = "modified")
[46fd0c7]58 @LastModifiedDate
[8bcd64c]59 @JsonIgnore
[cf9cdbf]60 private LocalDateTime modified;
61
[a436340]62
[cf9cdbf]63}
Note: See TracBrowser for help on using the repository browser.