Jackson: Multiple back-reference properties with name 'defaultReference'

hibernate, jackson, java, spring

Solution

If you use `@JsonBackReference` on more than one getter/setter method in your project, you should distinguish them with a specific reference name.

Maybe only one `'defaultReference'` is allowed in the latest version?

e.g

In `MovementView.java`

@JsonBackReference(value="user-movement")
public User getUser() {
    return user;
}

In `User.java`

@JsonManagedReference(value="user-movement")
public MovementView getMovementView() {
    return movementView;
}

Problem

I'm trying to map a json (string format) to an object and I get the following error com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference properties with name 'defaultReference' This is the json string ``` {"pledge":"74","client":"66","date":"","originId":"1","qualityId":"2","grade":"19","packing":"4","tons":"1000","fromDate":"","toDate":"","type":0,"remark":"","status":0,"area":"1531","id":-1,"refNumber":"","log":"","user":""} ``` This is the object ``` @Entity @Table(name="movement", catalog = "wsmill3") public class MovementView implements java.io.Serializable { private Integer id; private Integer originId; private Integer qualityId; private String refNumber; private Integer client; private String clientRef; private Integer grade; private Integer packing; private Integer pledge; private Integer area; private Date date; private Double tons; private Date fromDate; private Date toDate; private String remark; private User user; private Byte status; private String log; private Byte type; //constructor, getter and setter ``` and this is the code to do mapping ``` String data = request.getParameter("data"); ObjectMapper mapper = new ObjectMapper(); MovementView movement = mapper.readValue(data, MovementView.class); ``` I have no idea with this error, I did exact the same way as I read on Jackson homepage. Anyone who knows about it, please help me

Original source

Related problems