Hibernate无法将java.lang.Integer字段com.XXX.XXX.XXX.Coordinate.id设置为java.util.ArrayList
我刚开始冬眠,遇到了一个问题。我无法保存包含列表<列表<坐标>>的CustomObject。我将MySQL与SpingBoot一起使用 定制:Hibernate无法将java.lang.Integer字段com.XXX.XXX.XXX.Coordinate.id设置为java.util.ArrayList,java,mysql,hibernate,spring-boot,Java,Mysql,Hibernate,Spring Boot,我刚开始冬眠,遇到了一个问题。我无法保存包含列表的CustomObject。我将MySQL与SpingBoot一起使用 定制: @Entity public class CustomOjbect implements Serializable{ private static final long serialVersionUID = -4288223602669270676L; @Id @GeneratedValue(strategy=GenerationType.AU
@Entity
public class CustomOjbect implements Serializable{
private static final long serialVersionUID = -4288223602669270676L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(name = "img")
private String img;
@OneToOne(cascade=CascadeType.ALL)
private Feet feet;
@OneToMany(cascade=CascadeType.ALL, targetEntity=Coordinate.class)
private List<List<Coordinate>> coordinates = null;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
//Other getter and setters here...
}
脚:
当我使用List- >时,它工作得很好,但是当从客户端发送的对象更改为对象数组时,我不得不更改它
我该如何解决这个问题
错误:
java.lang.IllegalArgumentException:无法设置java.lang.Integer
字段com.XXXX.XXXX.XXXX.Coordinate.id到
java.util.ArrayList位于
sun.reflect.UnsafeFieldAccessorImpl.ThrowSetileGalargumentException(未知
源)~[na:1.8.0_111]at
sun.reflect.UnsafeFieldAccessorImpl.ThrowSetileGalargumentException(未知
源)~[na:1.8.0_111]at
sun.reflect.UnsafeFieldAccessorImpl.ensureObj(未知源)
~(na:1.8.0_111)at
sun.reflect.UnsafeObjectFieldAccessorImpl.get(未知源)
~[na:1.8.0_111]位于java.lang.reflect.Field.get(未知源代码)
~(na:1.8.0_111)at
org.hibernate.property.access.spi.GetterFieldImpl.get(GetterFieldImpl.java:39)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:225)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:4675)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:4376)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.engine.internal.ForeignKeys.isTransient(ForeignKeys.java:226)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.event.internal.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:510)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:99)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:765)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.internal.SessionImpl.persist(SessionImpl.java:758)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.jpa.event.internal.core.JpaPersistEventListener$1.cascade(JpaPersistEventListener.java:80)
~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:398)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:323)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:162)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]at
org.hibernate.engine.internal.Cascade.cascadeCollectionElements(Cascade.java:431)
~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
在控制器中:
@RequestMapping(method = RequestMethod.POST, value = "/saveCustomObjects", consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public String saveImageDetails(@RequestBody CustomObject customObject) {
customObjectRepository.save(customObject);
return "Saved successfully";
}
编辑:
如果你需要知道什么,请问我。对于那些面临这个问题的人 正如MGorgon在实体的评论中指出的那样,
List