Все, что я хочу, это установить корзину для каждого пользователя, который имеет учетную запись
У меня просто есть идея, что я должен сделать Panier panier = new Panier (), но как я могу это реализовать?
Пользовательский объект
package wing.wing.Entities;
@Entity
@Table(name = "users", uniqueConstraints = {
@UniqueConstraint(columnNames = {
"username"
}),
@UniqueConstraint(columnNames = {
"email"
})
})
public class User extends DateAudit implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
@Size(max = 40)
private String nom;
@NaturalId
@NotBlank
@Size(max = 15)
private String username;
@NaturalId
@NotBlank
@Size(max = 40)
@Email
private String email;
@NotBlank
@Size(max = 100)
private String password;
@Size(max = 100)
private String prenom;
private Sexe sexe;
@JsonFormat(pattern="yyyy-MM-dd")
private Date date ;
@Size(max = 100)
private String adresse;
@Size(max = 30)
private String region;
private Long numeroDeTelephone;
@Column(name="photoDeProfile")
private String photoProfil ;
@Column(name="photoRectoCin")
private String photoRectoCin ;
@Column(name="photoVersoCin")
private String photoVersoCin ;
/*
@OneToOne(cascade = CascadeType.ALL , fetch = FetchType.LAZY)
@JoinColumn(name = "panier_id", referencedColumnName = "id")
private Panier panier ;
*/
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "user_roles",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roles = new HashSet<>();
/*********Relation with Cart**************/
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_panier", nullable = true)
private Panier panier;
/********************************************/
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "questionnaire_id", nullable=true)
private Questionnaire questionnaire;
/*********Relation with Brand**************/
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
private Set<Brand> brands ;
@ManyToMany
@JoinTable(name="user_notif",
joinColumns = @JoinColumn(name = "idNotif"),
inverseJoinColumns = @JoinColumn(name = "id"))
Set<Notification> notifications ;
/************************ Constructeurs ***************/
public User() {
}
/***********************GETTERS & SETTERS****************/
}
Корзина Entity
package wing.wing.Entities;
@Entity
@Table(name = "paniers")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Panier implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "points" , nullable = true)
private Long points;
@OneToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "produit_id", nullable = false)
private Produit produit;
@OneToOne(fetch = FetchType.LAZY,
cascade = CascadeType.ALL,
mappedBy = "panier")
@JsonIgnore
private User user;
public Panier() {
}
public Panier(Long points, Produit produit, User user) {
this.points = points;
this.produit = produit;
this.user=user;
}
public Produit getProduit() {
return produit;
}
public void setProduit(Produit produit) {
this.produit = produit;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
проблема в том, что корзина не инициализируется при создании пользователя
любая помощь, пожалуйста
об этом?