原则 DQL、类表继承和对子类字段的访问
我在 DQL 查询和实体特化方面遇到了问题。
我有一个名为 的实体,它与 关系。 是 for 和 。我需要一个可以支持搜索引擎的查询,允许用户查找具有不同属性的拍卖,这些拍卖销售具有不同属性的物品(这是使其具有挑战性的部分)。Auction
OneToOne
Item
Item
mappedSuperclass
Film
Book
AND
AND
问题是,即使有一个指向这样的关联,我也需要访问 - 和 - 特定的字段。用户将指定他们要查找的类型,但除了在我的 DQL 查询中使用之外,我没有看到任何其他使用此信息的方法。Auction
Item
Film
Book
Item
INSTANCE 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\Item
bookTypes
对于 为假,但对于 为真。Book
Item
我也试过
SELECT a FROM Entities\Book i
INNER JOIN i.auction a ...
但我认为教义要求我在和陈述中引用同一个实体。SELECT
FROM
如果这很重要,我正在使用类表继承。不过,我不认为切换到单个表继承会起作用。
有什么想法吗?