簡體   English   中英

JPA提取數據時的多對一持久性問題

[英]JPA Many To One persistence issue at fetching data

我有兩個表,分別是hotelhotal_room_type hotal_room_typehotel映射為hotal_room_type 意味着hotel主鍵是hotal_room_type外鍵。

現在,我使用以下代碼獲取hotal_room_type數據

Query query = entityManager.createQuery("from "
            + HotelsRoomType.class.getName() + " where event.id = "
            + eventId);
List<HotelsRoomType> list = query.getResultList();

當我獲得兩個具有相同酒店的HotelRoomType記錄時,我僅獲得第一個HotelRoomType的酒店。 對於其他HotelRoomTypes它給出了Hotel對象,但是hotelId變量中有0,這意味着我無法再次接收到Hotel對象。

我需要獲得所有HotelRoomTypes的完整酒店實體。 如何做到這一點?

終於我找到了答案。 我需要在Hotel實體的映射中添加cascade=CascadeType.ALL 喜歡 :

@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "hot_room_frn_hot_id", nullable = false)
public Hotel getHotel() {
    return this.hotel;
}

暫無
暫無

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

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