<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之旅 廣告
                **1. 實體類建立關系** ```java public class Country { //country 對應 Province.country 屬性名 @OneToMany(mappedBy = "country", fetch = FetchType.EAGER) private List<Province> provinceList; } ``` ```java public class Province { //Country -> Province 是一對多,反過來 Province -> Country 就是多對一 @ManyToOne(targetEntity = Country.class) //country_id 對應 Country.id 屬性名 //將會在 Province 表中建立 country_id 的物理外鍵 @JoinColumn(name = "country_id", referencedColumnName = "id") private Country country; } ``` **2. Specification多表查詢** ```java /** * select c.* from country c left join province p on c.id=p.country_id * where c.continent=亞洲 and p.level=1 */ @Test public void example02() { Specification<Country> spec = (root, query, cb) -> { List<Predicate> predicates = new ArrayList<>(1); //provinceList 對應 Country.provinceList 屬性名 Join<Country, Province> left = root.join("provinceList", JoinType.LEFT); predicates.add(cb.equal(root.get("continent").as(String.class), "亞洲")); //level 對應 Province.level 屬性名 predicates.add(cb.equal(left.get("level").as(Integer.class), 1)); return query.where(predicates.toArray(new Predicate[predicates.size()])).getRestriction(); }; List<Country> countryList = countryRepository.findAll(spec); System.out.println(countryList.size()); } ``` ```java /** * select p.* from province p left join country c on p.country_id=c.id * where p.level=1 and c.name=中國 */ @Test public void example01() { Specification<Province> spec = (root, query, cb) -> { List<Predicate> predicates = new ArrayList<>(1); Join<Province, Country> left = root.join("country", JoinType.LEFT); predicates.add(cb.equal(root.get("level").as(Integer.class), 1)); predicates.add(cb.equal(left.get("name").as(String.class), "中國")); return query.where(predicates.toArray(new Predicate[predicates.size()])).getRestriction(); }; List<Province> provinceList = provinceRepository.findAll(spec); System.out.println(provinceList.size()); } ```
                  <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>

                              哎呀哎呀视频在线观看