сохранение данных, содержащих ссылку на другую сущность - PullRequest
0 голосов
/ 30 сентября 2019

, поэтому я работаю над приложением весенней загрузки, и у меня возникает проблема с сохранением данных, когда эти данные ссылаются на другую сущность, у меня есть сущность Room, которая содержит ссылку на сайт сущности при сохранении объекта комнаты, я получаю эту ошибку:Ошибка синтаксического анализа JSON: Невозможно создать экземпляр объекта Site: нет конструктора аргумента строки / метода фабрики для десериализации из значения строки

Я использую метод jpa save () для сохранения моих данных в моей базе данных. Вот код

package ma.munisys.entities;



import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

@Getter @Setter
@Entity
@Data
@Table(name="room")
public class Room {

    @Id
    @Column(name="room_code")
    private String room_code;
    private String room_name;
    private String zone;



    @ManyToOne
    @JoinColumn(name="site_id", updatable=true)
    private Site site;

    public Room() {
        super();
        // TODO Auto-generated constructor stub
    }

    public Room(String Room_code,String Room_name,String zone) {
        super();
        this.room_code = Room_code;
        this.room_name = Room_name;
        this.zone = zone;
    }

    @Override
    public String toString() {


        return "Room : [ Room code = "+room_code+", Room name = "+room_name+", Zone = "+zone+"]";
    }


}

Сущность сайта

package ma.munisys.entities;



import java.util.Date;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter @Setter
@Entity
@Data
@Table(name="site")
public class Site {

    @Id @GeneratedValue
    private int site_id;
    private String site_name;

    @ManyToOne
    @JoinColumn(name="project_id", updatable=true)
    @JsonBackReference
    private Projet projet ;


    @OneToMany(mappedBy="site", fetch = FetchType.LAZY,cascade = CascadeType.PERSIST)
    private Set<Room> room;

    public Site() {
        super();
        // TODO Auto-generated constructor stub
    }

    public Site(String Site_name,Projet projet1) {
        super();
        this.site_name = Site_name;
        this.projet = projet1;
    }

    public Site(String Site_name) {
        super();
        this.site_name = Site_name;
    }

    @Override
    public String toString() {


        return "Site : [ id = "+site_id+", Site Name = "+site_name+", Projet = "+projet.getProject_id()+" , "+projet.getProject_name()+"]";
    }



}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...