Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package bean;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.JoinTable;
- import javax.persistence.ManyToMany;
- import javax.persistence.ManyToOne;
- import javax.persistence.Table;
- import com.fasterxml.jackson.annotation.JsonBackReference;
- @Entity
- @Table(name="t_orders")
- public class Order {
- /**
- * Identifiant de la commande
- */
- @Id
- @GeneratedValue(strategy=GenerationType.IDENTITY)
- private Integer id;
- /**
- * Liste des plats dans la commande
- * n-n bidirectionnelle
- */
- @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.EAGER)
- @JoinTable( name="tnn_orders_dishes",
- joinColumns = @JoinColumn(name= "orderId"),
- inverseJoinColumns = @JoinColumn(name = "dishId")
- )
- private List<Dish> dishes;
- /**
- * Identifiant de l'utilisateur lié à la commande
- */
- @Column (name = "userId", insertable = false, updatable = false)
- private Integer userId;
- @ManyToOne
- @JoinColumn(name = "userId")
- @JsonBackReference
- private User user;
- /**
- * Date de la commande
- */
- @GeneratedValue(strategy=GenerationType.AUTO)
- private Date datetime = null;
- /**
- * Adresse de livraison de la commande
- */
- private String delivery = null;
- /**
- * Adresse de facturation de la commande
- */
- private String invoice = null;
- /**
- * Constructeur
- */
- public Order(){
- dishes = new ArrayList<Dish>();
- }
- /**
- * Constructeur
- * @param userId : Identifiant de l'utilisateur lié à la commande
- * @param datetime : Date de la commande
- * @param delivery : Adresse de livraison de la commande
- * @param invoice : Adresse de facturation de la commande
- */
- public Order(Date datetime, String delivery, String invoice) {
- super();
- this.datetime = datetime;
- this.delivery = delivery;
- this.invoice = invoice;
- }
- public Integer getUserId() {
- return userId;
- }
- public void setUserId(Integer integer) {
- this.userId = integer;
- }
- public Date getDatetime() {
- return datetime;
- }
- public void setDatetime(Date datetime) {
- this.datetime = datetime;
- }
- public String getDelivery() {
- return delivery;
- }
- public void setDelivery(String delivery) {
- this.delivery = delivery;
- }
- public String getInvoice() {
- return invoice;
- }
- public void setInvoice(String invoice) {
- this.invoice = invoice;
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id){
- this.id = id;
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- public List<Dish> getDishes() {
- return dishes;
- }
- public void setDishes(List<Dish> dishes) {
- this.dishes = dishes;
- }
- public String toString(){
- String str = "------------ COMMANDE ---------------\n";
- str += "userId : " + this.userId + "\n";
- str += "nb plat(s) : " + this.getDishes().size() + "\n";
- str += "datetime : " + this.datetime + "\n";
- str += "delivery : " + this.delivery + "\n";
- str += "invoice : " + this.invoice + "\n";
- str += "----------------------------------\n";
- return str;
- }
- /**
- * @return montant total de la commande
- */
- public Float amount(){
- Float amount = new Float(0.0);
- for(Dish dish : this.dishes){
- amount += dish.getPrice();
- }
- return amount;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement