亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Spring Boot 中正確連接表

如何在 Spring Boot 中正確連接表

茅侃侃 2022-12-21 16:40:00
我有一個用戶,該用戶有費用。在費用表中,我想要費用 ID、費用的用戶和費用金額。在用戶表中,我想要用戶 ID、他的用戶名、他的當前余額和他所做的所有費用的列表。我想加入這兩個,但我不知道如何正確引用用戶,因此用戶表單 Expense 類始終為空。首先,我發送 post 請求來創建一個用戶:{    "username":"abcd",    "balance":"100"}然后我想產生一筆費用,但在這里我不確定如何正確發送用戶:{    "username":"abcd",    "id":"1",    "balance":"100",    "amount":"20"}這不起作用,然后我這樣嘗試:{    "User":{    "username":"abcd",    "id":"1",    "balance":"100"    },    "amount":"20"}那也沒有用。這是用戶類:@Entity@Table(name = "Users")public class User {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    @NotBlank(message = "Username is mandatory")    private String username;    private Double balance = 0.0;    @OneToMany(mappedBy = "user")    private List<Expense> expenses;    ...我從這里刪除了 getter 和 setter。這是費用類:@Entity@Table(name = "Expenses")public class Expense {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    @ManyToOne    @JoinColumn(name = "user_id")    private User user;    private Double amount;    ...為了節省我使用的費用.save()并JpaRepository<Expense, Long>取回我使用的一切.findAll()。結果總是一樣的:得到所有的費用{        "id": 1,        "user": null,        "amount": 20}并為所有用戶提供{        "id": 1,        "username": "abcd",        "balance": 100,        "expenses": []}現在我不確定我是否以錯誤的方式發送請求或以錯誤的方式加入表格或兩者兼而有之。
查看完整描述

1 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

嘗試使用此有效負載發送 post 請求(字段“user”以小寫字母開頭),我認為用戶對象中的“id”字段應該足夠了


  { 

   "user":{

     "username":"abcd",

     "id":"1",

     "balance":"100"

    },

    "amount":"20"

  }

編輯:您還需要將 @JsonIgnoreProperties("expenses") 添加到您的 Expense 實體中,以防止 jackson 遞歸讀取 json


@Entity

@Table(name = "Expenses")

public class Expense {


  @Id

  @GeneratedValue(strategy = GenerationType.IDENTITY)

  private Long id;


  @JsonIgnoreProperties("expenses")

  @ManyToOne

  @JoinColumn(name = "user_id")

  private User user;


  private Double amount;

.....


查看完整回答
反對 回復 2022-12-21
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號