考慮以下情形:兩個數據庫表(生產者和生產者),具有一對多關係(一個生產者由一個生產者創建,一個生產者具有多個產品),每個表具有多個字段包括名稱和ID)。HQL - 選擇嵌套對象
此外,考慮我有兩個管理實體(生產者和產品)和這些對象(非託管)用作DTO(ProducerDTO和ProduceDTO)只有名稱和ID(和關係)的兩個較小版本。
我想選擇使用HQL查詢作爲生產者設置的特定產品(作爲DTO)。更清楚的是: SELECT new ProduceDTO(produce.id, new ProducerDTO(producer.id, producer.name), produce.name) FROM Produce produce JOIN produce.producer producer WHERE ...
但我在produce.id
之後得到一個QuerySyntaxException: unexpected token: ,
在查詢中。所以我的問題是:是否可以在HQL中選擇嵌套的自定義對象,如果是這樣,那麼對此有哪些規則/限制?對於單個自定義對象,它工作得很好,但是當我嘗試接下來2個或更多時,我遇到了問題。
注意:問題是要更好地理解這種現象,不一定針對這種特定情況(我已經對我的實際類有一個解決方案)。
謝謝!