2017-10-17 4 views
0

je cette structure de classestratégie d'économie avec plusieurs à plusieurs lorsqu'une association de table est utilisée

CarElementClasses 
    Integer id 
    @OneToMany(mappedBy = "carElementClass") 
    private List<CarClassJoins> carClassJoins; 

CarClassJoins 
    Integer id 
    @ManyToOne 
    @JoinColumn(name = "car_element_class_id", referencedColumnName="id") 
    private CarElementClasses carElementClass; 

    @ManyToOne 
    @JoinColumn(name = "car_param_id", referencedColumnName="id") 
    private CarParams carParam; 
    private String default; 

CarParams 
    Integer id 
    String name 
    @OneToMany(mappedBy = "carParam") 
    private List<CarClassJoins> carClassJoins; 

CarElementClasses a un plusieurs à plusieurs à carParams, CarClassJoins est une association de table.

Lorsque CarElementClasses est affiché, l'utilisateur peut modifier, supprimer un CarClassJoins.

Je ne sais pas comment gérer la sauvegarde, si l'utilisateur ajoute et supprime la valeur.

De côté client,

lorsqu'un nouveau est ajouté, id CarClassJoins est nul ... mais l'un des utilisateurs à supprimer n'est pas envoyé.

Je dois faire mes économies sur le CarElementClasses. Existe-t-il une stratégie dans jpa pour recréer automatiquement tous les éléments de la relation à chaque fois?

Répondre

2

Essayez les solutions suivantes.

CarElementClasses 
    Integer id 
    @OneToMany(mappedBy = "carElementClass", cascade = CascadeType.ALL) 
    private List<CarClassJoins> carClassJoins; 

CarClassJoins 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    Integer id 
    @ManyToOne 
    @JoinColumn(name = "car_element_class_id", referencedColumnName="id") 
    private CarElementClasses carElementClass; 

    @ManyToOne(cascade = CascadeType.ALL) 
    @JoinColumn(name = "car_param_id", referencedColumnName="id") 
    private CarParams carParam; 
    private String default; 

L'option cascade va enchaîner l'opération effectuée sur l'entité à l'entité associée. Pour plus d'informations: https://en.wikibooks.org/wiki/Java_Persistence/Relationships#Cascading

La combinaison @ID et @GeneratedValue génère l'ID lorsque l'entité persiste.