如何創建多對一列的獲取請求?

馬利克·薩夫萬 |

我目前已經製作了一個用於事件系統的彈簧啟動項目。在預訂課程的模型中,我有兩個對象,一個是事件,另一個是用戶。現在我想創建一個 get 請求,允許我分別獲取單個用戶的所有預訂和單個事件的所有預訂。我設法創建了其他請求,這些請求正在獲取所有預訂並通過預訂 ID 進行預訂。

現在,如果我嘗試創建任何類型的實現,它要么給我一個空指針錯誤,要么告訴我表關係“預訂”不存在。請讓我知道是否可以編寫這樣的獲取請求。謝謝

模型:

@Id
@SequenceGenerator(
        name = "booking_sequence",
        sequenceName = "booking_sequence",
        allocationSize = 1
)
@GeneratedValue(
        strategy = GenerationType.SEQUENCE,
        generator = "booking_sequence"
)
private Long id;

@ManyToOne
@JoinColumn(
        name = "event_id",
        referencedColumnName = "id"
)
private Event event;

@ManyToOne
@JoinColumn(
        name = "user_id",
        referencedColumnName = "id"
)
private User user;

private Integer tickets;
@Transient
private Integer amount;

存儲庫:

@Repository
public interface BookingRepository extends JpaRepository<Booking, Long > {
    @Query
    Optional<Booking> findBookingById(Long id);
}

服務:

@Autowired
public BookingService(BookingRepository bookingRepository) {
    this.bookingRepository = bookingRepository;
}

public List<Booking> getBookingList() {
    return bookingRepository.findAll();
}

public Booking getSingleBooking(Long bookingId) {
    return bookingRepository.findBookingById(bookingId).orElseThrow();
}

控制器:

@GetMapping
public List<Booking> getBookings() {
    return bookingService.getBookingList();
}

@GetMapping(path = "{bookingId}")
public Booking getSingleBooking(@PathVariable("bookingId") Long bookingId) {
    return bookingService.getSingleBooking(bookingId);}

@GetMapping(path = "/user/{userId}")
public List<Booking> getUserBookings(@PathVariable("userId") Long userId) {
    return bookingService.getBookingByUser(userId);}

@GetMapping(path = "/event/{eventId}")
public List<Booking> getEventBookings(@PathVariable("eventId") Long eventId) {
    return bookingService.getBookingForEvent(eventId);}
馬利克·薩夫萬 |

所以有可能提出這樣的請求,我所做的只是使用“nativeQuery”,以便它按照我想要的方式運行。如前所述,我想發出兩個獲取請求,這是我為它們編寫查詢的方式。

使用其“ID”獲取特定用戶的所有用戶預訂:

@Query(value = "SELECT * from bookings, user where bookings.user_id = :id", nativeQuery = true)
List<Booking> findByUserid(Long id);

使用其“ID”獲取特定事件的所有事件預訂:

@Query(value = "SELECT * from bookings, user where bookings.event_id = :id", nativeQuery = true)
List<Booking> findByEventid(Long id);

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

如何創建一個新的請求

訪問從 axios 創建的計算值在 vue 中獲取請求

在 Content-Type:multipart/form-data 的情況下,如何一次從 Flask 請求對像中獲取多個圖像?

如何使用另一列的值從一列創建多列?

一個 fetch 請求會在服務器上創建許多 GET 請求

pandas 如何創建一對多關係(添加數量列)

如何使用文件和拉取請求自動創建新分支?

基於另一個拉取請求(和分支)創建一個 Github 拉取請求(和分支)

發出迭代數組並在每次迭代時發出 api get 請求:獲取狀態 429 - 對多個請求

通過“查詢”對象修改查詢後如何獲取請求對象的修改後的URI?

如何在 python 中創建一個可重用的函數來獲取所需的列並在查詢中應用條件而不直接對值進行硬編碼?

EF Core Database.EnsureCreated 獲取創建表 SQL 並且不向數據庫發送請求

在 Kibana 的 Vega 中,如何在一個請求中從兩個不同的 aggs 創建層

axios 傳遞參數如何獲取請求?

如何創建允許我查詢兩個表的一對多關係?

基於一列從 CSV 文件創建多個字典

如何使用有效負載請求在python中創建發布請求?

獲取同一列的所有對應列都為空的記錄

如何獲取 Python 中每一列的高度?

使用group by獲取另一列最大值對應的值

改造獲取請求返回空

在 Firestore 中獲取文檔名稱並創建嵌套對象

創建數據框時創建基於另一列的列

獲取一列中的多個值之一

Angular:如何從 httpClient 請求中獲取參數並用於循環相同的請求

如何通過獲取某些字符前後的所有內容來創建列

如何使用 String JsonSubTypes 為多態 Java 對象創建對象

如何從包含多條信息的列創建列?

使用多個請求捕獲 observable 的最後一個值

TOP Liste

  1. 1

    Modbus Python Schneider PM5300

  2. 2

    Glassfish v3.0.1 im Vergleich zu Oracle GlassFish Server 3.0.1 - Gibt es einen technischen Grund, die kommerzielle Version zu verwenden?

  3. 3

    Wie schließe ich mehrere Ordner mit der Variablen EXTRA_ARGS aus?

  4. 4

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  5. 5

    Wie kann man eine Multi-Container-Anwendung in Steuerkarten erstellen?

  6. 6

    ElasticSearch - Knotensperren konnten nicht abgerufen werden

  7. 7

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  8. 8

    Elasticsearch startet nicht nach dem Laden in viele Daten

  9. 9

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  10. 10

    Wie Verwenden von Httpclient mit jedem SSL-Zertifikat, egal wie „schlecht“ es ist

  11. 11

    Wie vergleicht man scala.xml-Knoten richtig?

  12. 12

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  13. 13

    Wie füge ich eine Spalte in einer Zeile in der Ansible Jinja2-Vorlage mit der for-Schleife hinzu?

  14. 14

    HTTPS-Verbindung mit Moneris-Servern in Curl

  15. 15

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  16. 16

    Bester Crawler, um festzustellen, ob er mit Technologien gebaut wurde?

  17. 17

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  18. 18

    Wie kann ich den Kaskadenmodus global einstellen?

  19. 19

    Eclipse Oxygen - Projekte verschwinden

  20. 20

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  21. 21

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

heißlabel

Archiv