Je développe une application Web que le client appelle à un employé et il a passé une commande du client au système.Comment faire une clé primaire composite en utilisant la valeur générée automatiquement et une clé étrangère en utilisant hibernate et le printemps MVC
De mes ER diagram
, la classe OrderDetail
contient une clé primaire composite orderId
et productId
. En outre, il contient orderedQuentity
colonne. Ce que je veux, c'est quand le client passe une commande, il doit avoir quels produits il/elle a commandé et la quantité de chaque produit qu'il commande et qui passent la commande (l'employé) .....
Mais je Je pense que dans ma façon de le faire, la classe orderDetail
ne peut contenir que la liste du produit, pas la quantité de chaque produit.
Comment faire ce que je veux ??
Voici mes classes d'entités que j'essaie de mettre en œuvre.
Classe client:
@Entity
public class Customer {
@Id
@GeneratedValue
private Integer id;
private String firstName;
private String lastName;
private String companyName;
private Integer teleponeNumber;
@OneToMany(mappedBy="customer")
private List<OrderDetail> orders;
}
Classe de produit:
@Entity
public class Product {
@Id
@GeneratedValue
private Integer id;
private String name;
private Integer availableQuantity;
private String unitType;
private Integer unitPrice;
private String description;
@ManyToMany(mappedBy="products")
private List<OrderDetail> details;
}
ordre Classe:
@Entity
public class OrderDetail {
@Id
@GeneratedValue
private Integer orderId;
private Integer orderedQuentity;
private String customerAddress;
private String shipingAddress;
private String orderStatus;
@ManyToOne
@JoinColumn(name="Employee_Id")
private Employee employee;
@ManyToOne
@JoinColumn(name="customer_id")
private Customer customer;
@ManyToMany
@JoinTable
private List<Product> products;
}
d'employés:
@Entity
public class Employee {
@Id
@GeneratedValue
private Integer id;
private String firstName;
private String lastName;
private String designation;
private String email;
private String password;
@OneToMany(mappedBy="employee")
private List<OrderDetail> orders;
}