Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA获取数据时的多对一持久性问题_Java_Jpa_Many To One - Fatal编程技术网

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

Java JPA获取数据时的多对一持久性问题,java,jpa,many-to-one,Java,Jpa,Many To One,我有两张桌子,分别是酒店和酒店房间类型。而且有从hotal_room_type到hotel的多对一映射。表示酒店的主键是酒店房间类型中的外键 现在我正在使用下面的代码获取hotal\u room\u type数据 Query query = entityManager.createQuery("from " + HotelsRoomType.class.getName() + " where event.id = " + eventId); Lis

我有两张桌子,分别是
酒店
酒店房间类型
。而且有从
hotal_room_type
hotel
的多对一映射。表示
酒店
的主键是
酒店房间类型
中的外键

现在我正在使用下面的代码获取
hotal\u room\u type
数据

Query query = entityManager.createQuery("from "
            + HotelsRoomType.class.getName() + " where event.id = "
            + eventId);
List<HotelsRoomType> list = query.getResultList();
Query Query=entityManager.createQuery(“来自”
+HotelRoomType.class.getName()+“其中event.id=”
+eventId);
List=query.getResultList();
当我得到两个记录的酒店房间类型有相同的酒店,然后我得到的酒店只有第一个酒店房间类型。对于其他HotelRoomType,它提供了Hotel对象,但在
hotelId
变量中有0,这意味着我无法再次接收Hotel对象


我需要获得所有酒店房间类型的完整酒店实体。如何做到这一点?

我终于找到了答案。我需要在
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;
}

我终于找到了答案。我需要在
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;
}

什么是event.id?请发布您的映射类……。事件是HotelRoomType表中的另一个映射实体。主要问题是在获取酒店实体时。使用联接获取哪列或属性上的所有数据联接?我在酒店属性中使用了@JoinColumn注释event.id是什么?请发布您的映射类……。事件是HotelRoomType表中的另一个映射实体。主要问题是在获取酒店实体时。使用联接获取哪列或属性上的所有数据联接?我在酒店物业中使用了@JoinColumn注释