我刚开始冬眠,遇到了一个问题。我无法保存包含列表的CustomObject
自定义:
@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...
}
协调:
@Entity
public class Coordinate implements Serializable{
private static final long serialVersionUID = 7288778461661904967L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(name = "y")
private Float y;
@Column(name = "x")
private Float x;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
//Getter and setters here...
}
脚:
@Entity
public class Feet implements Serializable {
private static final long serialVersionUID = -8438970667123556624L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(name = "height")
private Integer height;
@Column(name = "width")
private Integer width;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
//Getter and setters here
}
当我做列表的时候,它曾经工作得很好
我该怎么解决这个问题?
错误:
java.lang.:无法设置java.lang.整数字段com。XXX. XXX. XXX. Coordinate.idjava.util.ArrayList atsun.reflect.Un安全字段访问mpl.throwSetIllegalArgumentExcema(未知来源)~[na: 1.8.0_111]atsun.reflect.Un安全字段访问mpl.throwSetIllegalArgumentExcema(未知来源)~[na: 1.8.0_111]atsun.reflect.UnSafeFieldAccessorImpl.ensureObj(未知来源)~[na: 1.8.0_111]atsun.reflect.UnseceObjectFieldAccessorImpl.get(未知来源)~[na: 1.8.0_111]atjava.lang.reflect.Field.get(未知来源)~[na: 1.8.0_111]atorg.hibernate.property.access.spi.GetterFieldImpl.get(GetterFieldImpl.java:39)~[hibernate-core-5.0.12。final.jar:5.0.12。最终]在org.hibernate.tuple.entity.AbstractEntityTuplizer.get标识符(AbstractEntityTuplizer. java: 225)~[hibernate-core-5.0.12。最终. jar: 5.0.12。最终]在org. hibernate.坚持者. entity.java: 4675)~[hibernate-core-5.0.12.最终. jar: 5.0.12。最终]在org. hibernate.坚持者. entity.java: 4376)~[hibernate-core-5.0.12.最终. jar: 5.0.12。最终]在org. hibernate. ne. interal.ForeignKeys. is瞬态(ForeignKeys. java: 226)~[hibernate-core-5.0.12。最终. jar: 5.0.12。最终]在org. hibernate. evental.getEntityState(AbstractSaveEventLister. java: 510)~[hibernate-core-5.0.12。最终. jar: 5.0.12。最终]在org. hibernate. evental.@no________________________________________________________________________________________________________________________最终. jar: 5.0.12。最终]在org. hibernate. interal.java: 765)~[hibernate-core-5.0.12.最终. jar: 5.0.12。最终]在org. hibernate. interal.java: 758)~[hibernate-core-5.0.12.最终. jar: 5.0.12。最终]在org. hibernate. jpa. evente. interal. core。jpaPeristeEventListener1美元级联(JpaPeristeventListener1. java: 80)~[hibernate-entityManager-5.0.12。最终. jar: 5.0.12。最终]在org. hibernate. ne. interal.java: 398)~[hibernate-core-5.0.12.最终. jar: 5.0.12。最终]在org. hibernate. ne. interal.java: 323)~[hibernate-core-5.0.12.最终. jar: 5.0.12。最终]在org. hibernate. ne. interal.###############################################################################################################最终. jar: 5.0.12。最终]在org. hibernate. ne. interal.java: 431)~[hibernate-core-5.0.12.最终. jar: 5.0.12。最终]
在控制器中:
@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
中指出的那样实体List
所以为了解决这个问题,我改变了从客户端发送的json格式。
之前的JSON格式:
{
"coordinates": [
[
{
},
{
}
[
{
},
{
},
{
},
{
}
]
]
}
更改后的JSON格式:
{
"coordinates": [
{
"area": [
{
},
{
}
]
},
{
"area": [
{
},
{
},
{
]
}
]
}
注意:我删除了json中的一些属性以减少代码。
希望对某人有所帮助。
在我的项目中,我有这样一个枚举: 我有这个代码: 我有个例外 myMap由数据库中的数据填充,知道它是SQL Server数据库,并且从数据库返回的myKey在数据库中是tinyint类型。 你能告诉我我做错了什么吗?谢谢 当做
我有整数列作为"状态"在我的数据库。 我的枚举类: } 我的实体字段: Hibernate日志: 组织。postgresql。util。PSQLException:错误:“status”列的类型为integer,但表达式的类型为bytea。提示:您需要重写或强制转换表达式。二进制数据 我使用PostgreSQL。如何解决这个问题?有什么想法吗?
我有一个项目班: 然后是合作者: 在我的DAO中,我想执行以下查询: null 如有任何帮助,我将不胜感激。谢谢。
问题内容: 在golang中,有没有办法查看是否可以将解编入结构的json字段与设置为null的json字段区分开?因为两者都将struct中的值设置为nil,但是我需要知道字段是否以该字段开头,并查看是否有人将其设置为null。 VS 当解组为结构时,两个json均为零。任何有用的资源将不胜感激! 问题答案: 使用以“拖延”解组过程决定做某件事之前要确定原始字节: 参观游乐场https://pl
当我运行这个程序时,我得到了这个错误。我不知道怎么解决。请帮我找到它。 代码:
问题内容: 在我们的应用程序中,我们需要具有只能分配一次的字段。 最初,我们想到封装字段并将设置程序设为私有。但是,引起一些问题: 如果没有公共设置者,Hibernate是否仍然可以从数据库映射字段? 我是否可以剥离设置器并使字段仅在实体构造函数中可变? 最后,是否有任何标准的JPA方法使字段不变? 提前致谢。 问题答案: 广告。1:我相信,如果将注释放在字段而不是在getter上,则JPA会将普