package org.taobao88.taobao.enterprise.entity;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
import javax.persistence.*;
import org.hibernate.annotations.IndexColumn;
/**
* Created by User on 15.06.14.
*/
@Entity
@Table(name="package")
public class PackageT implements Comparable<PackageT>, Serializable {
/**
*
*/
private static final long serialVersionUID = -4519375259543053179L;
@Id
@GeneratedValue
@Column(name = "idpackage", nullable = false)
private Integer idPackage;
@Column(name = "idpackageStatus", nullable = false)
private int idPackageStatus;
@Column(name = "full_price")
private int fullPrice;
@Column(name = "approve")
private String approve;
@Column(name = "date")
private String datePackage;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "packageT")
private Set<OrderT> orders;
@OneToOne(fetch = FetchType.EAGER, mappedBy = "packageT")
private PackageStatus status;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "packageT", cascade = CascadeType.REMOVE)
private List<Message> messages;
@Column(name = "tracknumber")
private String tracknumber;
@Column(name = "weight")
private double weight;
@ManyToOne
@JoinColumn(name = "post_service_id", referencedColumnName = "id")
private PostService postService;
@ManyToOne
@JoinColumn(name = "shipping_address", referencedColumnName = "id")
private ShippingAddress shippingAddress;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "packageT")
@IndexColumn(name = "id")
private List<PackagesStatuses> packagesStatuses;
@Column(name = "purchased")
private int purchased;
@Column(name = "purchased_amount")
private int purchasedAmount;
public String getApprove() {
return approve;
}
public void setApprove(String approve) {
this.approve = approve;
}
public int getIdPackage() {
return idPackage;
}
public void setIdPackage(int idPackage) {
this.idPackage = idPackage;
}
public int getFullPrice() {
return fullPrice;
}
public void setFullPrice(int fullPrice) {
this.fullPrice = fullPrice;
}
public int getIdPackageStatus() {
return idPackageStatus;
}
public String getDatePackage() {
return datePackage;
}
public void setDatePackage(String datePackage) {
this.datePackage = datePackage;
}
public Set<OrderT> getOrders() {
return orders;
}
public void setOrders(Set<OrderT> orders) {
this.orders = orders;
}
public void setIdPackage(Integer idPackage) {
this.idPackage = idPackage;
}
public PackageStatus getStatus() {
return status;
}
public void setStatus(PackageStatus status) {
this.status = status;
}
public List<Message> getMessages() {
return messages;
}
public void setMessages(List<Message> messages) {
this.messages = messages;
}
public String getTracknumber() {
return tracknumber;
}
public void setTracknumber(String tracknumber) {
this.tracknumber = tracknumber;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public PostService getPostService() {
return postService;
}
public void setPostService(PostService postService) {
this.postService = postService;
}
public List<PackagesStatuses> getPackagesStatuses() {
return packagesStatuses;
}
public void setPackagesStatuses(List<PackagesStatuses> packagesStatuses) {
this.packagesStatuses = packagesStatuses;
}
public int getPurchased() {
return purchased;
}
public void setPurchased(int purchased) {
this.purchased = purchased;
}
public ShippingAddress getShippingAddress() {
return shippingAddress;
}
public void setShippingAddress(ShippingAddress shippingAddress) {
this.shippingAddress = shippingAddress;
}
public int getPurchasedAmount() {
return purchasedAmount;
}
public void setPurchasedAmount(int purchasedAmount) {
this.purchasedAmount = purchasedAmount;
}
@Override
public String toString() {
return "PackageT{" +
"idPackage=" + idPackage +
", idPackageStatus=" + idPackageStatus +
", fullPrice=" + fullPrice +
", approve='" + approve + '\'' +
", datePackage='" + datePackage + '\'' +
'}';
}
public void setIdPackageStatus(int idPackageStatus) {
this.idPackageStatus = idPackageStatus;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
PackageT other = (PackageT) obj;
if (approve == null) {
if (other.approve != null)
return false;
} else if (!approve.equals(other.approve))
return false;
if (datePackage == null) {
if (other.datePackage != null)
return false;
} else if (!datePackage.equals(other.datePackage))
return false;
if (Double.doubleToLongBits(fullPrice) != Double
.doubleToLongBits(other.fullPrice))
return false;
if (idPackage == null) {
if (other.idPackage != null)
return false;
} else if (!idPackage.equals(other.idPackage))
return false;
if (idPackageStatus != other.idPackageStatus)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((approve == null) ? 0 : approve.hashCode());
result = prime * result
+ ((datePackage == null) ? 0 : datePackage.hashCode());
long temp;
temp = Double.doubleToLongBits(fullPrice);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result
+ ((idPackage == null) ? 0 : idPackage.hashCode());
result = prime * result + idPackageStatus;
return result;
}
public int compareTo(PackageT o) {
return this.idPackage.compareTo(o.getIdPackage());
}
}