<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-95  評論-31  文章-10  trackbacks-0
    注意點:
    1: 不要動輒就配置@OneToOne @OneToMany @ManyToOne @ManyToMany;
          根據業務想清楚當前實體需不需要關聯的實體詳情,需要在配置;
          否則這種配置會增加sql查詢,需進一步增加優化操作,增加不必要的麻煩!
    示例1(配置了不必要的關聯關系)
    @Entity
    @Table(name = "sb_review")
    public class Review {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        /**
         * 評論
         
    */
        @Column(name = "content",length = 2048)
        private String reviewContent;
        /**
         * 內容id
         
    */
         @Column(name = "reference_id",length = 2048)
        private Long  referenceId;
        /**
         * 當前評論的人
         
    */
        @ManyToOne(targetEntity = Account.class,optional = false)
        @JoinColumn(name = "review_account_id", nullable = false,referencedColumnName = "id")
        private Account account;
        get/setxxx   ......
    }
    紅色部分就是不必要的關聯配置,這種配置在進行from Review的時候會關聯查詢account實體,多出不必要的sql,如果要優化,就還得Dao增加自定義的@Query注解方法,比較麻煩
    而實際業務可能并不需要當前評論人的詳細信息,
    改進后:
    @Entity
    @Table(name = "sb_review")
    public class Review {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        /**
         * 評論
         
    */
        @Column(name = "content",length = 2048)
        private String reviewContent;
        /**
         * 內容id
         
    */
         @Column(name = "reference_id",length = 2048)
        private Long  referenceId;
        /**
         * 當前評論的人
         
    */
        @Column(name="review_account_id")
        private Long reviewAccountId;

        get/setxxx   
    }
    紅色部分就配置屬性即可,從內容方進行關聯查詢多個評論的時候,就不會多出查詢賬戶信息的sql。

    2: 只要@Query使用jpql方式,那么方法入參加入pageable仍然可以正常分頁,但是無法用fetch!  示例:
        @Query(value = "select s from ShareCare s  left join s.reviewList ")
        Page<ShareCare> findAllWithReviews(Pageable pageable);

    3:做好第一步,領域模型配置好關聯關系后,看情況采用@Query注解查詢方式,增加join fetch操作可以減少sql查詢 

    posted on 2017-11-17 14:19 朔望魔刃 閱讀(3217) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 精品国产免费观看一区| 久久久高清免费视频 | 中文在线免费看视频| 亚洲精品线路一在线观看| 男男gay做爽爽免费视频| 亚洲AV无码专区日韩| 二级毛片免费观看全程| 67194国产精品免费观看| 亚洲视频小说图片| 黄色免费网站网址| 国产成人精品日本亚洲网址| 免费看大黄高清网站视频在线| 亚洲av日韩综合一区久热| 免费在线观看黄网| 亚洲五月激情综合图片区| 永久在线免费观看| 亚洲精品第一综合99久久| 日本久久久免费高清| 一级毛片免费播放试看60分钟| 亚洲午夜久久久久久久久久| 波多野结衣免费一区视频 | 亚洲自偷自拍另类图片二区| 91麻豆最新在线人成免费观看| 67194在线午夜亚洲| 日本一区二区三区日本免费| 国产精品hd免费观看| 久久综合日韩亚洲精品色| 4虎永免费最新永久免费地址| 亚洲第一成年免费网站| 亚洲人成无码久久电影网站| 男人天堂2018亚洲男人天堂| 免费一看一级毛片| 精品视频在线免费观看| 亚洲综合色婷婷在线观看| 国产成人亚洲影院在线观看| 在线看无码的免费网站| 国产精品亚洲一区二区三区| 国产亚洲综合色就色| a毛片免费全部在线播放**| 亚洲色欲色欲www| 亚洲综合AV在线在线播放|