我有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
。
如果我向当前添加新值 - 它会添加。 但我想删除所有旧值并设置所有新值。