<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 14.8\. where子句 `where`子句允許你將返回的實例列表的范圍縮小. 如果沒有指定別名,你可以使用屬性名來直接引用屬性: ``` from Cat where name='Fritz' ``` 如果指派了別名,需要使用完整的屬性名: ``` from Cat as cat where cat.name='Fritz' ``` 返回名為(屬性name等于)'Fritz'的`Cat`類的實例。 ``` select foo from Foo foo, Bar bar where foo.startDate = bar.date ``` 將返回所有滿足下面條件的`Foo`類的實例: 存在如下的`bar`的一個實例,其`date`屬性等于 `Foo`的`startDate`屬性。 復合路徑表達式使得`where`子句非常的強大,考慮如下情況: ``` from Cat cat where cat.mate.name is not null ``` 該查詢將被翻譯成為一個含有表連接(內連接)的SQL查詢。如果你打算寫像這樣的查詢語句 ``` from Foo foo where foo.bar.baz.customer.address.city is not null ``` 在SQL中,你為達此目的將需要進行一個四表連接的查詢。 `=`運算符不僅可以被用來比較屬性的值,也可以用來比較實例: ``` from Cat cat, Cat rival where cat.mate = rival.mate ``` ``` select cat, mate from Cat cat, Cat mate where cat.mate = mate ``` 特殊屬性(小寫)`id`可以用來表示一個對象的唯一的標識符。(你也可以使用該對象的屬性名。) ``` from Cat as cat where cat.id = 123 from Cat as cat where cat.mate.id = 69 ``` 第二個查詢是有效的。此時不需要進行表連接! 同樣也可以使用復合標識符。比如`Person`類有一個復合標識符,它由`country`屬性 與`medicareNumber`屬性組成。 ``` from bank.Person person where person.id.country = 'AU' and person.id.medicareNumber = 123456 ``` ``` from bank.Account account where account.owner.id.country = 'AU' and account.owner.id.medicareNumber = 123456 ``` 第二個查詢也不需要進行表連接。 同樣的,特殊屬性`class`在進行多態持久化的情況下被用來存取一個實例的鑒別值(discriminator value)。 一個嵌入到where子句中的Java類的名字將被轉換為該類的鑒別值。 ``` from Cat cat where cat.class = DomesticCat ``` 你也可以聲明一個屬性的類型是組件或者復合用戶類型(以及由組件構成的組件等等)。永遠不要嘗試使用以組件類型來結尾的路徑表達式(path-expression) (與此相反,你應當使用組件的一個屬性來結尾)。 舉例來說,如果`store.owner`含有一個包含了組件的實體`address` ``` store.owner.address.city // 正確 store.owner.address // 錯誤! ``` 一個“任意”類型有兩個特殊的屬性`id`和`class`, 來允許我們按照下面的方式表達一個連接(`AuditLog.item` 是一個屬性,該屬性被映射為`&lt;any&gt;`)。 ``` from AuditLog log, Payment payment where log.item.class = 'Payment' and log.item.id = payment.id ``` 注意,在上面的查詢與句中,`log.item.class` 和 `payment.class` 將涉及到完全不同的數據庫中的列。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看