Java 无效属性';stateId';在回退访问期间,bean类的“”找不到属性的字段
我在尝试使用SpringBoot更新数据库中的数据时遇到以下错误 错误是:org.springframework.beans.NotReadablePropertyException:bean类[com.studawn.model.District]的属性“stateId”无效:在回退访问期间找不到属性的字段 我不知道怎么修理它 控制器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
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
}