繁体   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