<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;
          根據業(yè)務想清楚當前實體需不需要關聯(lián)的實體詳情,需要在配置;
          否則這種配置會增加sql查詢,需進一步增加優(yōu)化操作,增加不必要的麻煩!
    示例1(配置了不必要的關聯(lián)關系)
    @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   ......
    }
    紅色部分就是不必要的關聯(lián)配置,這種配置在進行from Review的時候會關聯(lián)查詢account實體,多出不必要的sql,如果要優(yōu)化,就還得Dao增加自定義的@Query注解方法,比較麻煩
    而實際業(yè)務可能并不需要當前評論人的詳細信息,
    改進后:
    @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   
    }
    紅色部分就配置屬性即可,從內容方進行關聯(lián)查詢多個評論的時候,就不會多出查詢賬戶信息的sql。

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

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

    posted on 2017-11-17 14:19 朔望魔刃 閱讀(3200) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 国产无遮挡色视频免费视频| 国产日韩久久免费影院| 免费无码又爽又刺激网站| 国产传媒在线观看视频免费观看| 91亚洲视频在线观看| 国产免费丝袜调教视频| 亚洲乱码一区av春药高潮| 无码国产精品久久一区免费| 亚洲一卡2卡3卡4卡5卡6卡| 女人张腿给男人桶视频免费版| 亚洲成在人线在线播放无码| 国产免费观看青青草原网站| 日日摸夜夜添夜夜免费视频| 99久久99热精品免费观看国产| 亚洲成在人天堂在线| 免费国产成人高清在线观看网站| 在线精品亚洲一区二区| 免费亚洲视频在线观看| 激情亚洲一区国产精品| 国产免费人成视频在线播放播| 亚洲香蕉成人AV网站在线观看| 色欲aⅴ亚洲情无码AV| 18禁成年无码免费网站无遮挡| 亚洲av无码偷拍在线观看| 色窝窝免费一区二区三区| 色偷偷尼玛图亚洲综合| 国产亚洲综合网曝门系列| 69pao强力打造免费高清| 亚洲AV无码专区电影在线观看| 亚洲成人免费网址| 国产偷国产偷亚洲高清人| 亚洲中文字幕无码不卡电影| 57pao一国产成永久免费| 日韩亚洲人成网站| 亚洲福利电影在线观看| 亚洲成?Ⅴ人在线观看无码| 国产精品色拉拉免费看| 久青草国产免费观看| 亚洲一级黄色大片| 亚洲色婷婷一区二区三区| 黄瓜视频高清在线看免费下载|