gpt4 book ai didi

java - JPA获取数据时的多对一持久性问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:41 25 4
gpt4 key购买 nike

我有两个表:hotelhotal_room_type。并且存在从 hotal_room_typehotel 的多对一映射。意味着 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;
}

关于java - JPA获取数据时的多对一持久性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14191108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com