如何更新列表实体,如另一个实体中的字段?(删除所有旧的并保存所有新值)

时间:2016-06-20 04:24:02

标签: java hibernate

我有2个与MAnyToMany关系的实体。

@Entity
@Table(name = "PP_CONFIG")
public class PricePlanConfig {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    @Getter @Setter private Long id;
    @Getter @Setter private String Name;
    @Getter @Setter private String wfaId;
    @Getter @Setter private Integer status;
    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @Getter @Setter private List<PricePlanCrm> ppCrm;

@Entity
@Table(name = "PP_CRM")
@EqualsAndHashCode(exclude={"id", "ppConfig"})
public class PricePlanCrm {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Getter @Setter private Long id;
    @Getter @Setter private String rkId;
    @Getter @Setter private String name;
    @Getter @Setter private String priceplantype;
    @Getter @Setter private String enabled;
    @ManyToMany(mappedBy = "ppCrm")
    @Getter @Setter private List<PricePlanConfig> ppConfig;

我想要更新

@Getter @Setter private List<PricePlanCrm> ppCrm;

我这样做

public void updatePricePlainsToCurrentPricePlaneConfig(){
        List<PricePlanCrm> pricePlansClear = getPricePlansClear();
        currentPricePlanConfig.setPpCrm(pricePlansClear);
        PricePlanCrmDaoImpl.me().merge(currentPricePlanConfig);
    }

pricePlansClear我有3个新值,在currentPricePlanConfig.setPpCrm()我有7个旧值。更新/合并后我想在currentPricePlanConfig中添加3个新值。但没有发生。我没有错误,但新值未设置为currentPricePlanConfig

如果我向当前添加新值 - 它会添加。 但我想删除所有旧值并设置所有新值。

0 个答案:

没有答案