一尘不染

是否可以对未映射到表的实体使用休眠查询语言?

sql

以下是我用来检索的mySQL查询HolidayPackages for a given Hotel

SELECT 
    pkg.idHolidayPackage, pkg.name
FROM
    holidaypackage pkg
        INNER JOIN
    holidaypackagehotel hph ON pkg.idHolidayPackage = hph.idHolidayPackage
        INNER JOIN
    hotelroom hr ON hr.idHotelRoom = hph.idHotelRoom
WHERE
    hr.idHotel = 1;

我有映射的POJO:

  • 假日套餐
  • 酒店
  • 旅馆房间

我没有POJO HolidayPackageHotel

有什么方法可以使用Criteria API或HQL来执行sql查询,而无需为HolidayPackageHotel创建POJO?

对于古玩,数据库关系: 数据库关系


阅读 123

收藏
2021-05-16

共1个答案

一尘不染

不能您不能在HQL内使用未映射的实体

如果要从查询生成bean列表,可以使用 ResultSet转换器,该转换器可以将查询结果(对象数组)转换为bean
。这样,您将节省创建和填充POJO bean的开销。

2021-05-16