我有一類Formand Student。一個學生可能有 0 個或多個表格。我將它們之間的關系設定為OneToMany。現在,我需要獲取特定學生擁有的表格。那時我有兩個問題。我應該如何在 URL 中獲取這些表單?假設我想獲取 id=7 的學生表格。
選項1:
api/v1/forms?studentId=7
選項 2:
api/v1/students/7/forms
其中哪一個用得最多或更合理?第二個問題就是這樣。通常,當我想向JpaRepo. 我只需要添加 Jpa 提供的方法,這樣findAll, findByStudentId。因為我在學生物體/模型中有一個表格串列。如何獲取所有表格?我應該使用哪個命名方法?綜上所述,我需要知道是否應該將方法寫在FormDataAccessor中StudentDataAccess。方法名稱應該是什么?
學生
@Data
@Entity
@Table(name = "student")
public class Student {
@Id
@Column(name = "Student_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "Student_name")
private String name;
@Column(name = "Course_id")
private int courseID;
@Column(name="Oasis_id")
private Long oasisID;
@OneToMany(mappedBy = "student",fetch = FetchType.LAZY)
@JsonIgnore
private List<Form> forms;
}
表格模型
@Data
@Entity
@Table(name="form")
public class Form {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@ManyToOne
@JoinColumn(name = "Student_id", nullable = false)
private Student student;
@ManyToOne
@JoinColumn(name = "Attending_id", nullable = false)
private AttendingPhysician attending;
@Column(name = "Kayit_no", nullable = false)
private String kayitNo;
@Column(name = "Staj_turu", nullable = false)
private String stajTuru;
@Column(name = "Yas", nullable = false)
private int yas;
@Column(name = "Cinsiyet", nullable = false)
private String cinsiyet;
@Column(name = "Sikayet", nullable = false)
private String sikayet;
@Column(name = "Ayirici_tani", nullable = false)
private String ayiriciTani;
@Column(name = "Kesin_tani", nullable = false)
private String kesinTani;
@Column(name = "Tedavi_yontemi", nullable = false)
private String tedaviYontemi;
@Column(name = "Etkilesim_turu", nullable = false)
private String etkilesimTuru;
@Column(name = "Kapsam", nullable = false)
private String kapsam;
@Column(name = "Gerceklestigi_ortam", nullable = false)
private String gerceklestigiOrtam;
@Column(name = "Status", nullable = false)
private String status;
@Column(name="Date_sent", nullable = false) // Convert to timestamp using java Date @CreationTimestamp, @UpdateTimestamp
private String dateSent;
}
uj5u.com熱心網友回復:
解決方案非常簡單。
我只需要在我的FormDataAccess.
@Query(" from Form where student.id = :studentId")
List<Form> findFormByStudentId(int studentId);
現在我可以使用此路徑檢索表單
api/v1/forms/student/7
我仍然想知道如何從學生端檢索表單,而不是表單端,這樣
api/v1/student/7/forms
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/450050.html
