Java 无效属性';stateId';在回退访问期间,bean类的“”找不到属性的字段

Java 无效属性';stateId';在回退访问期间,bean类的“”找不到属性的字段,java,json,hibernate,spring-boot,Java,Json,Hibernate,Spring Boot,我在尝试使用SpringBoot更新数据库中的数据时遇到以下错误 错误是:org.springframework.beans.NotReadablePropertyException:bean类[com.studawn.model.District]的属性“stateId”无效:在回退访问期间找不到属性的字段 我不知道怎么修理它 控制器 import org.springframework.beans.factory.annotation.Autowired; import org.spring

我在尝试使用SpringBoot更新数据库中的数据时遇到以下错误

错误是:org.springframework.beans.NotReadablePropertyException:bean类[com.studawn.model.District]的属性“stateId”无效:在回退访问期间找不到属性的字段

我不知道怎么修理它

控制器

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.studawn.exception.StudawnException;
import com.studawn.model.City;
import com.studawn.model.State;
import com.studawn.request.model.DistrictBean;
import com.studawn.request.model.StatePage;
import com.studawn.service.callback.StateCityDistrictService;
import com.studawn.utils.RestUtils;

@CrossOrigin(maxAge = 3600)
@RestController
public class StateCityDistrictController<T> extends RestUtils<T> {

    @Autowired
    StateCityDistrictService<T> stateCityDistrictService;
@RequestMapping(value = "/updateState", method = RequestMethod.POST, headers = "Accept=application/json")
    public @ResponseBody Object updateState(@RequestBody State state) {
        try {
            return getSuccessResponse(stateCityDistrictService.updateState(state));
        } catch (StudawnException e) {
            return getErrorResponse(e.getMessage());
        }
    }
}
JSON请求

{
"districtId":1,
"districtCode":"Chn"    ,
"districtName":"Chennai",
"lastUpdatedBy":"arun@xyz.com",
"stateId":1
}

提前谢谢

你能把完整的stacktrace贴出来吗?我倾向于认为这完全与spring及其基于异常消息的json处理堆栈有关;但完整跟踪将确认:路径为[/studawn]的上下文中Servlet[dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为org.springframework.beans.NotReadablePropertyException:bean类[com.studawn.model.District\$\u jvstfd8\u 0]的属性“stateId”无效:在回退访问期间找不到属性的字段!]根本原因为org.springframework.beans.NotReadablePropertyException:bean类[com.studawn.model.District\u$$\ ujvstfd8\u0]的属性“stateId”无效:在回退访问期间找不到属性的字段@Naros我发现了一个错误,在我的服务类中,我使用了StateRepository而不是DistrictRepository。但执行时仍有一些错误,需要检查。无论如何,谢谢。
@Entity
@Table(name = "district")
public class District {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "district_id")
    private int districtId;

    @Column(name = "district_name", length = 45)
    private String districtName;

    @Column(name = "district_code", length = 45)
    private String districtCode;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "created_date", nullable = false, updatable = false)
    @CreatedDate
    private Date dateCreated;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "modified_date")
    @LastModifiedDate
    private Date dateModified;

    @JsonBackReference(value = "createdBy")
    @ManyToOne
    @JoinColumn(name = "created_by", updatable = false, nullable = false)
    private AdminUser createdBy;

    @JsonBackReference(value = "lastUpdatedBy")
    @ManyToOne
    @JoinColumn(name = "last_updated_by")
    private AdminUser lastUpdatedBy;

    @JsonIgnore
    @OneToMany(mappedBy = "district", fetch = FetchType.LAZY)
    private Set<City> cityList;

    @JsonBackReference(value = "stateId")
    @ManyToOne
    @JoinColumn(name = "state_id")
    private State state;
    @JsonIgnore
    @OneToMany(mappedBy = "district")
    private Set<Pincode> pincode;

    @JsonIgnore
    @OneToMany(mappedBy = "district")
    private List<College> college;

    @JsonIgnore
    public Set<City> getCity() {
        return cityList;
    }

    public void setCity(Set<City> cityList) {
        this.cityList = cityList;
    }

    public String getDistrictCode() {
        return districtCode;
    }

    public void setDistrictCode(String districtCode) {
        this.districtCode = districtCode;
    }

    public List<College> getCollege() {
        return college;
    }

    public void setCollege(List<College> college) {
        this.college = college;
    }

    public Set<Pincode> getPincode() {
        return pincode;
    }

    public void setPincode(Set<Pincode> pincode) {
        this.pincode = pincode;
    }

    public int getDistrictId() {
        return districtId;
    }

    public void setDistrictId(int districtId) {
        this.districtId = districtId;
    }

    public String getDistrictName() {
        return districtName;
    }

    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }

    public Date getDateCreated() {
        return dateCreated;
    }

    public void setDateCreated(Date dateCreated) {
        this.dateCreated = dateCreated;
    }

    public Date getDateModified() {
        return dateModified;
    }

    public void setDateModified(Date dateModified) {
        this.dateModified = dateModified;
    }

    public AdminUser getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(AdminUser createdBy) {
        this.createdBy = createdBy;
    }

    public AdminUser getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(AdminUser lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Set<City> getCityList() {
        return cityList;
    }

    public void setCityList(Set<City> cityList) {
        this.cityList = cityList;
    }

    public State getState() {
        return state;
    }

    public void setState(State state) {
        this.state = state;
    }
}
@Entity
@Table(name = "state")
public class State {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "state_id")
    private int stateId;

    @Column(name = "state_name", length = 45)
    private String stateName;

    @Column(name = "state_code", length = 45)
    private String stateCode;

    @JsonIgnore
    @OneToMany(mappedBy = "state", fetch = FetchType.LAZY)
    private Set<City> cityList;

    @JsonIgnore
    @OneToMany(mappedBy = "state", fetch = FetchType.LAZY)
    private Set<District> districtList;

    @JsonIgnore
    @OneToMany(mappedBy = "state")
    private List<College> college;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "created_date", nullable = false, updatable = false)
    @CreatedDate
    private Date dateCreated;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "modified_date")
    @LastModifiedDate
    private Date dateModified;

    @JsonBackReference(value = "createdBy")
    @ManyToOne
    @JoinColumn(name = "created_by", updatable = false, nullable = false)
    private AdminUser createdBy;

    @JsonBackReference(value = "lastUpdatedBy")
    @ManyToOne
    @JoinColumn(name = "last_updated_by")
    private AdminUser lastUpdatedBy;

    public String getStateCode() {
        return stateCode;
    }

    public void setStateCode(String stateCode) {
        this.stateCode = stateCode;
    }

    public Date getDateCreated() {
        return dateCreated;
    }

    public void setDateCreated(Date dateCreated) {
        this.dateCreated = dateCreated;
    }

    public Date getDateModified() {
        return dateModified;
    }

    public void setDateModified(Date dateModified) {
        this.dateModified = dateModified;
    }

    public AdminUser getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(AdminUser createdBy) {
        this.createdBy = createdBy;
    }

    public AdminUser getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(AdminUser lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public List<College> getCollege() {
        return college;
    }

    public void setCollege(List<College> college) {
        this.college = college;
    }

    public int getStateId() {
        return stateId;
    }

    public void setStateId(int stateId) {
        this.stateId = stateId;
    }

    public String getStateName() {
        return stateName;
    }

    public void setStateName(String stateName) {
        this.stateName = stateName;
    }

    public void setCityList(Set<City> cityList) {
        this.cityList = cityList;
    }

    public Set<City> getCityList() {
        return cityList;
    }

    public void setDistrictList(Set<District> districtList) {
        this.districtList = districtList;
    }

    public Set<District> getDistrictList() {
        return districtList;
    }
}
public class DistrictBean {

    private int districtId;
    private String districtName;
    private String districtCode;
    private String createdBy;
    private String lastUpdatedBy;
    private int stateId;

    public String getDistrictCode() {
        return districtCode;
    }

    public void setDistrictCode(String districtCode) {
        this.districtCode = districtCode;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public int getStateId() {
        return stateId;
    }

    public void setStateId(int stateId) {
        this.stateId = stateId;
    }

    public int getDistrictId() {
        return districtId;
    }

    public void setDistrictId(int districtId) {
        this.districtId = districtId;
    }

    public String getDistrictName() {
        return districtName;
    }

    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }
}
{
"districtId":1,
"districtCode":"Chn"    ,
"districtName":"Chennai",
"lastUpdatedBy":"arun@xyz.com",
"stateId":1
}