76 lines
1.5 KiB
Java
76 lines
1.5 KiB
Java
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<Order> 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<Order> getOrders() {
|
|
return orders;
|
|
}
|
|
|
|
public void setOrders(List<Order> orders) {
|
|
this.orders = orders;
|
|
}
|
|
|
|
@JsonManagedReference
|
|
@OneToMany(mappedBy = "customer")
|
|
private List<Order> orders;
|
|
}
|