Spring MappingException:无法确定类型



我正在为测试场景构建一个单页Web应用程序,并且我正在使用spring-jpa。我想在我的帖子请求中使用这个JSON数据模型:

{
"id": 1,
"title": "test-title",
"releaseDate": "2021/12/15",
"rating" : {
"stars" : 5,
"comment" : "very exciting"
}
}

如果我启动我的应用程序,我会得到以下错误:由:org.hibernate.MappingException引起:无法确定:de.demo.dto.Rating的类型,位于表:books,列:[org.hibernat.mapping.Column(Rating(]

如果我正在声明类";评级";使用@Entity并添加字段";id";,应用程序启动时没有出现错误(如果我使用的是@OneToOne注释(。但对于班级";评级";我不想使用自己的数据表;id";。每个人都能帮我解决问题吗?我该如何解决这个问题?

课本:

@Getter
@Setter
@Entity
public class Books {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(unique = true, nullable = false)
private int id;
private String title;
private String releaseDate;
private Rating rating;
}

等级评定

@Getter
@Setter
public class Rating {
int stars;
String comment;
}

谢谢!

所以您似乎想要一对一关系,但不希望它在另一个表中,我想到的最好的事情是将该评级保存为json对象字符串。因此,您可能需要使用GSON:等第三方库进行crud

Gson gson = new Gson(); // Or use new GsonBuilder().create();
MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2

最新更新