我试图通过crud中的id来管理我所有的实体。
假设我有病变实体和检查实体。
抽象实体.java
@Getter
@Setter
@MappedSuperclass
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(Include.NON_NULL)
public class AbstractEntity {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(unique = true, nullable = false)
private String id;
}
病损.java
@Entity
@Table(name = "lesion")
@Getter
@Setter
public class Lesion extends AbstractEntity {
@OneToMany(mappedBy = "lesion")
private List<Exam> exams;
}
考试.java
@Entity
@Table(name = "exam")
@Getter
@Setter
public class Exam extends AbstractEntity {
@ManyToOne
public Lesion lesion;
}
我试图通过检查id列表来设置病变和检查之间的关系,比如:(假设已经有两个id为的持续检查 e1afa296-05fe-4bc4-9103-0f0bb6a5cedd
以及 97353d31-64ce-40f7-87ef-deab435a2f7c
)
POST <url>/lesion
body:
{
"exams": [
"97353d31-64ce-40f7-87ef-deab435a2f7c",
"e1afa296-05fe-4bc4-9103-0f0bb6a5cedd"
]
}
现在,我能做的就是:
POST <url>/lesion
body:
{
"exams": [
{"id": "97353d31-64ce-40f7-87ef-deab435a2f7c"},
{"id": "e1afa296-05fe-4bc4-9103-0f0bb6a5cedd"}
]
}
手动获取与这些id相对应的持久化对象,并在数据库中手动设置。我相信有一个更自动的方式通过Jackson,但我卡住了。
你有主意吗?
谢谢您。
暂无答案!
目前还没有任何答案,快来回答吧!