package edu.gjoko.schedlr.entity; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; import java.time.LocalDateTime; @Entity @EntityListeners(AuditingEntityListener.class) @Table(name = "service") @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class Service { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private Long id; @Column(name = "duration") private Integer duration; @Column(name = "price") private Integer price; @OneToOne(cascade = CascadeType.PERSIST) @JoinColumn(name = "service_type_id", referencedColumnName = "id") private ServiceType serviceType; @ManyToOne @JoinColumn(name = "business_id") @JsonBackReference private Business business; @Column(name = "created") @CreatedDate @JsonIgnore private LocalDateTime created; @Column(name = "modified") @LastModifiedDate @JsonIgnore private LocalDateTime modified; }