【发布时间】:2019-12-10 07:10:40
【问题描述】:
对单表感兴趣
下面是我要存储在数据库中的
JSON 文件。我应该如何编写模型类?尝试了一个示例模型,但它只存储对象的大小,而不是实际数据。我也无法检索数据。
{
sourceImageRepo: "xxx",
sourceTagMatch: "xxx",
targetProject: "xxx",
targetFiles: [
{
name: "xxx",
pattern: "xxx"
},
{
name: "xxx",
pattern: "xxx"
}
]
}
我收到如下错误消息:
{
"timestamp": "2019-12-10T06:36:42.745+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Could not write JSON: (was java.lang.ArrayIndexOutOfBoundsException); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.ArrayIndexOutOfBoundsException) (through reference chain: org.springframework.data.rest.webmvc.json.PersistentEntityJackson2Module$PersistentEntityResourceSerializer$1[\"content\"]->com.example.demo.model.suiteInformations[\"targetFiles\"]->java.util.ArrayList[0])",
"path": "/suiteInformationses/1"
}
当前型号
suiteInformations.java
package com.example.demo.model;
import javax.persistence.*;
import java.util.ArrayList;
@Entity
@Table(name = "suitesInformations")
public class suiteInformations {
public suiteInformations(int id, String sourceImageRepo, String sourceTagMatch, String email,
String targetProject, ArrayList<TargetFiles> targetFiles) {
this.id = id;
this.sourceImageRepo = sourceImageRepo;
this.sourceTagMatch = sourceTagMatch;
Email = email;
this.targetProject = targetProject;
this.targetFiles = targetFiles;
}
public suiteInformations() {}
@Id
@Column(name = "id")
@GeneratedValue
public int id;
@Column(name = "sourceImageRepo")
public String sourceImageRepo;
@Column(name = "sourceTagMatch")
public String sourceTagMatch;
@Column(name = "Email")
public String Email;
@Column(name = "targetProject")
public String targetProject;
@Embedded
public ArrayList<TargetFiles> targetFiles;
// getters/setters omitted
}
TargetFiles.java
package com.example.demo.model;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import java.util.ArrayList;
@Embeddable
public class TargetFiles {
@Column(name = "name")
public String name;
@Column(name = "pattern")
public String pattern;
}
数据库内容
SELECT * FROM SUITESINFORMATIONS;
ID EMAIL SOURCEIMAGEREPO SOURCETAGMATCH SIZE TARGETPROJECT
1 xxx xxx xxx 1 xxx
【问题讨论】:
-
您使用的是哪个数据库?另外,像列数据类型一样指定表 DDL。
-
我正在使用内部 h2 db 来测试模型
标签: java database spring spring-boot serialization