我遇到Spring的问题我无法克服。我在类和MySQL数据库中添加了很多字段,但这次我不知道发生了什么。
有问题的字段是score
。我可以通过GET检索资源,并且该字段由API返回,但任何修改如POST new one都会抛出MySQLSyntaxErrorException: Unknown column 'score' in 'field list'
。
这是我的班级:
@Entity
@Table(name = "resources")
@Audited
@JsonPropertyOrder({"id"})
public class Resource extends ResourceSupport implements Localizable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long resourceId;
// ... other fields ...
private Double score; // <== that's the one!
public Double getScore() {
return score;
}
public void setScore(Double score) {
this.score = score;
}
// ... other getters and setters ...
}
在我的数据库中,我以这种方式定义了score
字段:
CREATE TABLE `resources` ( (...) 'score' double NOT NULL (...) )
我真的不知道字段名称是如何匹配的,但我仍然得到例外。 我浏览了堆栈上的所有类似线程(大约10个),但没有解决这个特定问题......
答案 0 :(得分:0)
好的,所以我发现了一个问题。我使用Hibernate Envers,Spring中的一种机制(自2009年起),允许您存储选定表中的记录历史记录。
它自动为我的resources_aud
表创建了resources
表。后来我将列添加到resource
表,但没有添加到resource_aud
表。
@Audited
标记即可。