java 返回列表时,Spring 预期出现“:”而不是“t”错误?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/37848789/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-03 02:52:53  来源:igfitidea点击:

Spring Expected ':' instead of 't' error when returning List?

javajsonspringHymanson

提问by James111

I've got a simple RequestMappingmethod that returns a list of Users, the Usersmodel has a ONE TO MANYrelation to HolidayDates...I'm just playing around with it, so I've chosen holiday dates as the relation (list of dates they went on a holiday).

我有一个简单的RequestMapping方法可以返回一个列表Users,该Users模型ONE TO MANYHolidayDates......我只是在玩弄它,所以我选择了假期日期作为关系(他们去度假的日期列表)。

So ONEuser can have MANYrelated Dates.

所以ONE用户可以有MANY相关的Dates.

User model:

用户模型:

@Entity
@Table(name="user")
public class User {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="userId")
    private int userId;

    @Column(name="about")
    private String about;

    // Maybe change to fetchtype eager
    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "holidayDates")
    private Set<HolidayDates> holidayDates;
    public void setHolidayDates(Set<HolidayDates> holidayDates) {
        this.holidayDates = holidayDates;
    }
    public Set<HolidayDates> getHolidayDates() {
        return holidayDates;
    }
    ...Other setters and getters 

HolidayDate model:

HolidayDate 型号:

@Entity
@Table(name="holiday_dates")
public class HolidayDates {
//
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="holidayId")
    private int holidayId;

    @Column(name="start_date")
    private String startDate;

    @Column(name="end_date" )
    private String endDate;

    @ManyToOne
    @JoinColumn(name = "userId")
    private User user;

When I goto find all Users & their related holiday dates, using the code below:

当我使用以下代码查找所有用户及其相关假期日期时:

@RequestMapping(value="{name}", method=RequestMethod.GET)
public @ResponseBody List<User> user(@PathVariable String name) {
    List<User> user = userService.findAll();
    // Simply implementing List<User> findAll(); from userService auto wired field

    return user;
}

The userService has an @autowiredfield to userDao, which simply extends JPA repository:

userService 有一个@autowired字段 to userDao,它只是扩展 JPA 存储库:

public interface UserDao extends JpaRepository <User, Integer> {

Now when I run a GETrequest on the controller, it returns the following response:

现在,当我GET在控制器上运行请求时,它返回以下响应:

Expected ':' instead of 't'

As well as a big long stack trace of fasterxml.Hymanson errors:

以及fasterxml.Hymanson错误的一大堆长堆栈跟踪:

[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[Hymanson-databind-2.6.6.jar:2.6.6]
        at com.fasterxml.Hymanson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[Hymanson-databind-2.6.6.jar:2.6.6]

Doesn't spring handle all this jpa/modelto jsonconversion?

没有春天处理所有这jpa/modeljson转换?

回答by jny

You have an infinite recursion going on during serialization since Userrefers to HolidayDatesand HolidayDatesrefer to User. You can stop it by adding @JsonIgnoreto getUserin HolidayDates.

由于User引用HolidayDatesHolidayDates引用,您在序列化期间进行了无限递归User。您可以通过添加@JsonIgnoregetUserin来停止它HolidayDates

回答by Manu

@JsonManagedReference
private Set<HolidayDates> holidayDates;

and

@JsonBackReference
private User user;

回答by Long Nguyen

Same your error, but in my case cause I'm missing implement default constructor.

同样的错误,但在我的情况下,因为我缺少实现默认构造函数。

public User() {}

回答by triadiktyo

While I agree the correct answer to the question is the accepted answer by jny, I got exactly the same problem by having a bad Hymanson objectMapper config installed in Spring Boot which for some reason, instead of fixing date serialization, messed up the serialization of an entirely different class. I removed the following code and things started working again. Just puting this here in case someone has the same problem

虽然我同意这个问题的正确答案是 jny 接受的答案,但我在 Spring Boot 中安装了一个错误的 Hymanson objectMapper 配置时遇到了完全相同的问题,出于某种原因,它没有修复日期序列化,而是搞砸了一个完全不同的类。我删除了以下代码,事情又开始工作了。只是把它放在这里以防有人遇到同样的问题

@Bean
@Primary
public ObjectMapper objectMapper(Hymanson2ObjectMapperBuilder builder) {
    ObjectMapper objectMapper = builder.createXmlMapper(false).build();
    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
//  objectMapper.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false);
    return objectMapper;
}

回答by Shubham

This Problem is because of infinite recursion between entity classes use @JsonIgnore for older versions and this code for newer versions.

这个问题是因为实体类之间的无限递归对旧版本使用@JsonIgnore,对新版本使用此代码。

 @OneToMany(
            mappedBy = "queue_group",fetch = FetchType.LAZY,
            cascade = CascadeType.ALL
        )
    @JsonManagedReference
    private Set<Queue> queues;

@ManyToOne(cascade=CascadeType.ALL)
        @JoinColumn(name = "qid")
       // @JsonIgnore
        @JsonBackReference
        private Queue_group queue_group;

回答by Nitin Zadage

This is very old post but I faced similar issue where back reference application was going in loop and I was getting similar kind of error. I wanted dependent object to be included in to be retained on either side of the entity. @JsonManagedReference, @JsonBackReferenceand @JsonIdentityInfowere not helping. You can use @JsonIgnorePropertiesinstead.

这是一篇很老的帖子,但我遇到了类似的问题,其中反向引用应用程序正在循环中,并且我遇到了类似的错误。我希望包含的依赖对象保留在实体的任一侧。@JsonManagedReference@JsonBackReference@JsonIdentityInfo没有帮助。你可以@JsonIgnoreProperties改用。

In class User

在班上 User

@JsonIgnoreProperties(value = {"user"})
private Set<HolidayDates> holidayDates;

and in HolidayDates

并在 HolidayDates

@JsonIgnoreProperties(value = {"holidayDates"})
private User user;

This way worked for me very well. This post http://springquay.blogspot.com/2016/01/new-approach-to-solve-json-recursive.html?m=1explains pros and cons of each of the above annotations.

这种方式对我非常有效。这篇文章http://springquay.blogspot.com/2016/01/new-approach-to-solve-json-recursive.html?m=1解释了上述每个注释的优缺点。

回答by Tokiniaina Eddy Andriamiandris

add @JsonManagedReferencein your User model and @JsonBackReferencefor HolidayDates model

添加@JsonManagedReference您的用户模型和@JsonBackReference为HolidayDates模型

User model:

用户模型:

@OneToMany
 @JsonManagedReference
 private Set<HolidayDates> holidayDates;

HolidayDate model:

HolidayDate 型号:

 @ManyToOne
    @JsonBackReference
    private User user;