package com.chantha.jdbc.jpa.model; import com.fasterxml.jackson.annotation.*; import javax.persistence.*; import java.io.Serializable; import java.util.List; @Entity @Table(name = "tbCustomer") @JsonPropertyOrder({"id","cusName","gender","orders"}) @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Customer implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long Id; private String cusName; private enum GENDER{MALE,FEMALE,OTHER}; @Enumerated(EnumType.STRING) // @JsonSerialize(using = CustomGenderSerializer.class) private Gender gender; public Customer() { } public Customer(Long Id,String cusName,Gender gender,List orders) { this.Id=Id; this.cusName=cusName; this.gender=gender; this.orders=orders; } public Long getId() { return Id; } public void setId(Long id) { Id = id; } public String getCusName() { return cusName; } public void setCusName(String cusName) { this.cusName = cusName; } public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } public List getOrders() { return orders; } public void setOrders(List orders) { this.orders = orders; } @JsonManagedReference @OneToMany(mappedBy = "customer") private List orders; }