簡體   English   中英

我想在 spring 引導中動態地從數據庫中獲取數據

[英]I want to fetch the data from db dynamically in spring boot

我正在使用 spring 引導框架構建 rest api。 我需要使用 fields= creationDate,relatedParty[role,name] 獲取請求中請求的數據/列(來自多個表)。 它必須是動態獲取,就像我需要從數據庫中動態獲取那些特定數據的請求中的任何字段值一樣。

據我了解您的問題,我建議您根據您的要求使用一對多或多對多映射。 就像如果我有帖子 model 和評論 model 並且我想從帖子 model 中獲取評論,那么我將使用一對多的關系。

@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<>();

}

在評論 model 中,我會這樣做。

@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;
}

Spring 數據 JPA 對此沒有特別支持,因此您應該退回到 JPA,即您編寫自定義方法並使用注入的EntityManager工作

您可以使用標准 API 根據您的輸入創建查詢。

這個網站應該讓你開始使用標准 API https://www.baeldung.com/hibernate-criteria-queries

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM