<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 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    hibernate annoation (十 映射查詢(xún))

    Posted on 2009-08-20 17:26 瘋狂 閱讀(1579) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): java

    在類(lèi)級(jí)別上配置:

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

     

       此查詢(xún)是sessionfactory級(jí)別的也就是在創(chuàng)建sessionfactory時(shí)候已經(jīng)處于內(nèi)存中了

    可以在任何地方使用。

    調(diào)用:

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

     可同時(shí)配置多個(gè)

    @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")
    }
    )

     還可以通過(guò)hints屬性設(shè)置查詢(xún)屬性:

    例如:設(shè)置超時(shí)

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

     屬性說(shuō)明:

     

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

     

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

    使用:@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{}
    

     測(cè)試:

     

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

     可使用@EntityResult的fields屬性來(lái)檢索固定字段:

    @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{}

     測(cè)試:

    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());
    }

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

     



    主站蜘蛛池模板: 亚洲av福利无码无一区二区 | av午夜福利一片免费看久久| 精品女同一区二区三区免费播放| 国产精品99精品久久免费| 亚洲高清国产拍精品青青草原| 亚洲一区二区三区播放在线| 久久久久高潮毛片免费全部播放| 亚洲AV中文无码乱人伦| 亚洲一区二区三区国产精华液| 花蝴蝶免费视频在线观看高清版| 日本19禁啪啪无遮挡免费动图| 亚洲AV日韩AV永久无码绿巨人| 亚洲精品动漫免费二区| 狼群影院在线观看免费观看直播| 亚洲国产精品毛片av不卡在线 | 久久精品国产亚洲AV麻豆网站| www免费黄色网| 国产精品亚洲产品一区二区三区 | 国产免费久久精品丫丫| 亚洲av网址在线观看| av午夜福利一片免费看久久| 亚洲欧洲中文日韩久久AV乱码 | 亚洲av无码片区一区二区三区| 毛片a级毛片免费播放下载| 亚洲精品美女久久7777777| 亚洲福利精品电影在线观看| 一级毛片**免费看试看20分钟| 亚洲精品中文字幕无码蜜桃| 亚洲日本成本人观看| 又粗又硬又黄又爽的免费视频| 一级做a爰片久久免费| 亚洲av无码一区二区三区乱子伦| www视频在线观看免费| 国产精品亚洲专区无码WEB| 中文字幕精品无码亚洲字| 热re99久久6国产精品免费| 亚洲无吗在线视频| 国产亚洲精品资在线| 免费一本色道久久一区| 日韩精品无码永久免费网站| 亚洲福利视频一区|