当hibernate遇上 lombok又遇见 jackson
问题描述:
hibernate 双向死链
lombok 使用@Data 注解
jackson 序列化
在使用的解决方案前提是不能使用@Data 注解,要不然包会错。
本人建议使用第三种或者第一种方案,使用@Getter @Setter @NoArgsConstructor代替@Data注解
解决方案一:类名使用注解
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Senor {}
解决方案二:属性上使用注解
@ManyToOne(fetch = FetchType.EAGER )
@JoinColumn(name = "dr_id")
@JsonBackReference
private Driver driver;
@OneToMany(mappedBy = "driver",fetch = FetchType.EAGER)
@JsonManagedReference
private List<Senor> senors = new ArrayList<>() ;
解决方案三:属性上使用注解,
@OneToMany(mappedBy = "driver",fetch = FetchType.EAGER)
// @JsonIgnoreProperties(value = {"driver"})
private List<Senor> senors = new ArrayList<>() ;