Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 已经有了身份证的POJO_Spring_Hibernate_Jpa_Spring Boot_Jackson - Fatal编程技术网

Spring 已经有了身份证的POJO

Spring 已经有了身份证的POJO,spring,hibernate,jpa,spring-boot,jackson,Spring,Hibernate,Jpa,Spring Boot,Jackson,我有两门课:工作课和客户课。一个客户可以有许多作业。这两类作业如下:- @Entity @JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property="jobId", scope = Job.class) public class Job { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "job_id") pr

我有两门课:工作课和客户课。一个客户可以有许多作业。这两类作业如下:-

@Entity
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property="jobId", scope = Job.class)
public class Job {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "job_id")
private long jobId;
@ManyToOne
private Client client;
public Client getClient() {
    return client;
}
public void setClient(Client client) {
    this.client = client;
}


@Entity
@JsonIdentityInfo(
    generator = ObjectIdGenerators.PropertyGenerator.class,
    property = "clientId",scope = Client.class)
public class Client {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long clientId;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "client")
@Transient
private Collection<Job> jobs;
我得到的错误是:-

Could not read JSON document: Already had POJO for id (java.lang.Long) [[ObjectId: key=1, type=com.fasterxml.jackson.databind.deser.impl.PropertyBasedObjectIdGenerator, scope=java.lang.Object]]

有人能帮我一下吗?

它抛出了这个错误,因为您的JsonIdentityInfo注释说您的XML中已经有一个clientId为1的客户端实例。请参阅或建议仅使用ID,而不是引用中的完整对象。我已在同一json中的两个不同位置发送了ID为1的客户端。这两个客户端将保存在数据库中的两个不同的表中,上面的操作对于不同的id很好。当json中两个客户端的id都为1时,就会出现此问题。它抛出此错误是因为您的JsonIdentityInfo注释,说您的XML中已经有一个clientId为1的客户端实例。请参阅或建议仅使用ID,而不是引用中的完整对象。我已在同一json中的两个不同位置发送了ID为1的客户端。这两个客户端将保存在数据库中的两个不同的表中,上面的操作对于不同的id很好。当json中两个客户端的id都为1时,就会出现这个问题。
Could not read JSON document: Already had POJO for id (java.lang.Long) [[ObjectId: key=1, type=com.fasterxml.jackson.databind.deser.impl.PropertyBasedObjectIdGenerator, scope=java.lang.Object]]