今天写代码又遇到一个问题:
从前台传值一个对象,对象里边有个属性,他的值是个数组,怎么都没传到后台,费了半天劲发现是我在实体的属性上加了@JsonIgnore注解导致的。但是如果把这个注解去掉的话,前台查询列表的时候会报错(问题大致是:json在转换数据的时候无线递归了),所以聪明的我想出了另一个解决办法,就是在实体里边多加一个属性用来接收从前台传来的值。代码来一段:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@JsonIgnore
@OneToMany(fetch=FetchType.LAZY,mappedBy = "offerEntity")
@Cascade(value= {CascadeType.SAVE_UPDATE})
private List<ActivityOfferSheetDetailEntity> sheetDetail = new ArrayList<ActivityOfferSheetDetailEntity>();
@Transient
private List<ActivityOfferSheetDetailEntity> sheetDetailData = new ArrayList<ActivityOfferSheetDetailEntity>();