Я хочу установить корзину для пользователей, когда они регистрируются - PullRequest
0 голосов
/ 09 июня 2019

Все, что я хочу, это установить корзину для каждого пользователя, который имеет учетную запись У меня просто есть идея, что я должен сделать 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;
}
}

проблема в том, что корзина не инициализируется при создании пользователя

любая помощь, пожалуйста об этом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...