【问题标题】:I want to fetch the data from db dynamically in spring boot我想在spring boot中动态地从db中获取数据
【发布时间】:2021-04-12 12:32:45
【问题描述】:
我正在使用 spring boot 框架构建一个 rest api。我需要使用 fields= creationDate,relatedParty[role,name] 获取请求中请求的数据/列(来自多个表)。它必须是动态获取,就像我需要从数据库中动态获取那些特定数据的请求中的任何字段值一样。
【问题讨论】:
标签:
java
spring-boot
spring-data-jpa
【解决方案1】:
据我了解您的问题,我建议您根据您的要求使用一对多或多对多映射。就像如果我有一个帖子模型和一个评论模型,并且我想从帖子模型中获取 cmets,那么我将使用一对多的关系。
@Entity
@Table(name = "posts")
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "title")
private String title;
@OneToMany(mappedBy = "post",
cascade = {CascadeType.ALL})
List<Comment> comments = new ArrayList<>();
}
而在评论模型中,我会这样做。
@Entity
@Table(name = "comments")
public class Comment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
private String comment;
@ManyToOne(cascade = {CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "posts_id", nullable = true)
private Post post;
}