我可以对未映射到表的实体使用hibernate查询语言吗?

bra*_*ter 8 mysql sql orm hibernate hql

以下是我用来检索的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;
Run Code Online (Sandbox Code Playgroud)

我有POJO与映射:

  • HolidayPackage
  • 旅馆
  • 旅馆房间

我没有POJO HolidayPackageHotel.

有没有办法使用Criteria API或HQL来执行SQL查询而无需为HolidayPackageHotel创建POJO?

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

Man*_*uPK 3

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

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

请阅读此处的示例。