Spring MappingException:无法确定类型
Spring MappingException: Could not determine type
我正在构建一个用于测试场景的单页 Web 应用程序,我正在使用 spring-jpa。我想为我的 post-请求使用这个 JSON 数据模型:
{
"id": 1,
"title": "test-title",
"releaseDate": "2021/12/15",
"rating" : {
"stars" : 5,
"comment" : "very exciting"
}
}
如果我启动我的应用程序,我会收到以下错误:
原因:org.hibernate.MappingException:无法确定类型:de.demo.dto.Rating,在 table:书籍,列:[org.hibernate.mapping.Column(评级)]
如果我用@Entity 声明class“rating”并添加字段“id”,应用程序启动时没有错误(如果我使用@OneToOne 注释)。但是对于 class“评级”,我不想使用带有“id”的自己的数据 table。每个人都可以帮我解决我的问题吗?我该如何解决这个问题?
Class本书:
@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;
}
class 评分
@Getter
@Setter
public class Rating {
int stars;
String comment;
}
谢谢!
看来您想要一对一的关系,但不希望它在另一个 table 中,我想到的最好的办法是将该评级保存为 json 对象字符串。所以你可能需要用像 GSON 这样的第三方库来做 cruds:
Gson gson = new Gson(); // Or use new GsonBuilder().create();
MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2
我正在构建一个用于测试场景的单页 Web 应用程序,我正在使用 spring-jpa。我想为我的 post-请求使用这个 JSON 数据模型:
{
"id": 1,
"title": "test-title",
"releaseDate": "2021/12/15",
"rating" : {
"stars" : 5,
"comment" : "very exciting"
}
}
如果我启动我的应用程序,我会收到以下错误: 原因:org.hibernate.MappingException:无法确定类型:de.demo.dto.Rating,在 table:书籍,列:[org.hibernate.mapping.Column(评级)]
如果我用@Entity 声明class“rating”并添加字段“id”,应用程序启动时没有错误(如果我使用@OneToOne 注释)。但是对于 class“评级”,我不想使用带有“id”的自己的数据 table。每个人都可以帮我解决我的问题吗?我该如何解决这个问题?
Class本书:
@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;
}
class 评分
@Getter
@Setter
public class Rating {
int stars;
String comment;
}
谢谢!
看来您想要一对一的关系,但不希望它在另一个 table 中,我想到的最好的办法是将该评级保存为 json 对象字符串。所以你可能需要用像 GSON 这样的第三方库来做 cruds:
Gson gson = new Gson(); // Or use new GsonBuilder().create();
MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2