package com.alibaba.json.demo.hibernate.data;
import com.fasterxml.jackson.annotation.JsonBackReference;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@SuppressWarnings("serial")
@Entity
@Table(name="OrderDetail"
,catalog="classicmodels"
)
public class OrderDetail implements java.io.Serializable {
private OrderDetailId id;
private Order order;
private Product product;
private Integer quantityOrdered;
private double priceEach;
private short orderLineNumber;
public OrderDetail() {
}
public OrderDetail(OrderDetailId id, Order order, Product product, Integer quantityOrdered, double priceEach, short orderLineNumber) {
this.id = id;
this.order = order;
this.product = product;
this.quantityOrdered = quantityOrdered;
this.priceEach = priceEach;
this.orderLineNumber = orderLineNumber;
}
@EmbeddedId
@AttributeOverrides( {
@AttributeOverride(name="orderNumber", column=@Column(name="orderNumber", nullable=false) ),
@AttributeOverride(name="productCode", column=@Column(name="productCode", nullable=false, length=50) ) } )
public OrderDetailId getId() {
return this.id;
}
public void setId(OrderDetailId id) {
this.id = id;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="orderNumber", nullable=false, insertable=false, updatable=false)
@JsonBackReference("orderdetail-order")
public Order getOrder() {
return this.order;
}
public void setOrder(Order order) {
this.order = order;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="productCode", nullable=false, insertable=false, updatable=false)
@JsonBackReference("order-product")
public Product getProduct() {
return this.product;
}
public void setProduct(Product product) {
this.product = product;
}
@Column(name="quantityOrdered", nullable=false)
public Integer getQuantityOrdered() {
return this.quantityOrdered;
}
public void setQuantityOrdered(Integer quantityOrdered) {
this.quantityOrdered = quantityOrdered;
}
@Column(name="priceEach", nullable=false, precision=22, scale=0)
public double getPriceEach() {
return this.priceEach;
}
public void setPriceEach(double priceEach) {
this.priceEach = priceEach;
}
@Column(name="orderLineNumber", nullable=false)
public short getOrderLineNumber() {
return this.orderLineNumber;
}
public void setOrderLineNumber(short orderLineNumber) {
this.orderLineNumber = orderLineNumber;
}
}