原则 DQL、类表继承和对子类字段的访问
我在 DQL 查询和实体特化方面遇到了问题。
我有一个名为 的实体,它与 关系。 是 for 和 。我需要一个可以支持搜索引擎的查询,允许用户查找具有不同属性的拍卖,这些拍卖销售具有不同属性的物品(这是使其具有挑战性的部分)。AuctionOneToOneItemItemmappedSuperclassFilmBookANDAND
问题是,即使有一个指向这样的关联,我也需要访问 - 和 - 特定的字段。用户将指定他们要查找的类型,但除了在我的 DQL 查询中使用之外,我没有看到任何其他使用此信息的方法。AuctionItemFilmBookItemINSTANCE OF
到目前为止,我已经尝试使用如下查询:
SELECT a FROM Entities\Auction a
INNER JOIN a.item i
INNER JOIN i.bookTypes b
WHERE i INSTANCE OF Entities\Book
AND b.type = 'Fantasy'
AND ...".
此类查询会导致错误,指出:
类没有名为
Entities\ItembookTypes
对于 为假,但对于 为真。BookItem
我也试过
SELECT a FROM Entities\Book i
INNER JOIN i.auction a ...
但我认为教义要求我在和陈述中引用同一个实体。SELECTFROM
如果这很重要,我正在使用类表继承。不过,我不认为切换到单个表继承会起作用。
有什么想法吗?