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

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

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

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    hibernate annoation (十 映射查詢)

    Posted on 2009-08-20 17:26 瘋狂 閱讀(1578) 評論(0)  編輯  收藏 所屬分類: java

    在類級別上配置:

     @Entity
    @NamedQueries(value = { @NamedQuery(name="query1",query="select a from A a") })
    

     

       此查詢是sessionfactory級別的也就是在創建sessionfactory時候已經處于內存中了

    可以在任何地方使用。

    調用:

    Query q = session.getNamedQuery("query1");

     可同時配置多個

    @Entity
    @NamedQueries(
    value = {
    @NamedQuery(name="query1",query="select c from A c where c.id=:id") ,
    @NamedQuery(name="query2",query="select c from C c where c.id=:id")
    }
    )

     還可以通過hints屬性設置查詢屬性:

    例如:設置超時

    @NamedQuery(name="query2",query="select c from A c where c.id=?",hints=@QueryHint(name = "timeout", value = "20")

     屬性說明:

     

    cacheable 是否可以與二級緩存交互(默認false)
    cacheRegion 設置緩存名稱(默認othewise)
    timeout 查詢超時設定
    fetchSice 所獲取的結果集大小
    flushMode 本次查詢所用的刷新模式
    cacheMode 本次查詢所用的緩存模式
    readOnly 是否將本次查詢所加載的實體設為只讀(默認false)
    comment 將查詢注釋下如所生成的sql

     

     映射本地化查詢(普通sql查詢):

    使用:@NamedNativeQueries和@SqlResultSetMappings

    例如:

    @Entity
    @NamedNativeQueries(value={@NamedNativeQuery(name="nativesql1", query="select *  from b where id>1",resultSetMapping="sql1maping")})
    @SqlResultSetMappings(value={@SqlResultSetMapping(name="sql1maping",entities={@EntityResult(entityClass=B.class
    )})})
    public class B{}
    

     測試:

     

    Query q = session.getNamedQuery("nativesql1");

     可使用@EntityResult的fields屬性來檢索固定字段:

    @Entity
    @NamedNativeQueries(value={@NamedNativeQuery(name="nativesql1", query="select  bname  from b where id>1",resultSetMapping="sql1maping")})
    @SqlResultSetMappings(value={@SqlResultSetMapping(name="sql1maping",entities={@EntityResult(entityClass=B.class,fields={
    @FieldResult(name="bname",column="bname")
    })})})
    public  class B{}

     測試:

    Query q = session.getNamedQuery("nativesql1");
    List<B> list = q.list();
    for (Iterator iterator = list.iterator(); iterator.hasNext();) {
    B a2 = (B) iterator.next();
    System.out.println(a2.getBname());
    }

     此時如果要顯示:System.out.println(a2.getId());則會報: could not execute query ---Column 'id1_0_' not found.異常

     



    主站蜘蛛池模板: 在线a人片天堂免费观看高清| 九九视频高清视频免费观看| 亚洲国产日韩在线| 亚洲高清视频免费| 亚洲美女自拍视频| 亚洲人成网站日本片| 亚洲国产成a人v在线| 亚洲免费电影网站| va天堂va亚洲va影视中文字幕| 亚洲a级片在线观看| 中文字幕乱码亚洲精品一区| 亚洲精品无码一区二区| 亚洲精品无码日韩国产不卡av| 国产亚洲欧美在线观看| 免费看一级一级人妻片| www成人免费观看网站| 中文在线免费看视频| 久久青草免费91观看| 亚洲一级毛片免费在线观看| 久久久久久久免费视频| 日韩在线看片免费人成视频播放| 无码欧精品亚洲日韩一区夜夜嗨 | 精品久久久久久久免费人妻| 日本免费v片一二三区| 亚洲一级特黄大片在线观看| 久久亚洲精品视频| 亚洲美女人黄网成人女| 亚洲国产视频久久| 边摸边吃奶边做爽免费视频99| 男女一边桶一边摸一边脱视频免费| 日韩免费高清播放器| 波多野结衣免费在线观看| 国产免费午夜a无码v视频| 亚洲一级Av无码毛片久久精品| 亚洲国产成人精品不卡青青草原| 亚洲免费黄色网址| 一级毛片a女人刺激视频免费| 99re免费在线视频| 国产高清视频在线免费观看| 亚洲色自偷自拍另类小说| 亚洲小说图片视频|