Spring boot with Spring data rest handle ManyToMany relation

15 Views Asked by At

The probleme is That when I want that when I create a "Panier Object with a list of articles those articles should have the modification but it does not work even with add casadtype.all"

Test Avec Post man : POST Methode { "quantite" : 20, "client" : "http://localhost:8080/api/clients/1", "articles": ["http://localhost:8080/api/articles/7"] }

package RMS.entity;

import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;


@AllArgsConstructor
@NoArgsConstructor
@Entity
@Data
public class Panier {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long idPanier ;
    private int quantite;

    @OneToOne(cascade = CascadeType.ALL)
    private Client client;
    @ManyToMany(mappedBy = "paniers", cascade = CascadeType.ALL)
    private List<Article> articles;

}

package RMS.entity;

import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Entity
@Data
@NoArgsConstructor
public class Article {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long idArticle;
    private String name;
    private double prix;
    private String description;
    private Categorie categorie;
    private int rating;
    @ManyToOne
    private Restaurant restaurant;
    @ManyToMany(cascade = CascadeType.ALL)
    private List<Panier> paniers;
    public Article(String name, double prix, String description, Categorie categorie,Restaurant restaurant, int rating)
    {
        this.name =name;
        this.prix = prix;
        this.description = description;
        this.categorie = categorie;
        this.restaurant = restaurant;
        this.rating = rating;
    }
}

package RMS.entity;

import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Client extends Personne{
    private String address;
    @OneToMany(mappedBy = "client")
    private List<Commande> commandes;
    public Client( String nomPersonne, String email, String motPass, String numTelel, String address)
    {
        super(nomPersonne,email,motPass,numTelel);
        this.address = address;
    }


}
0

There are 0 best solutions below