<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.異常

     



    主站蜘蛛池模板: 又黄又大又爽免费视频| **aaaaa毛片免费| 亚洲AV无码专区日韩| 亚洲av日韩综合一区久热| 最近2019中文字幕免费看最新| 亚洲欧洲视频在线观看| 91短视频免费在线观看| 亚洲日韩中文字幕| 免费v片在线观看视频网站| 亚洲成aⅴ人在线观看| 美女网站免费福利视频| 亚洲AV无码专区国产乱码不卡| 日韩一品在线播放视频一品免费| 亚洲另类无码专区首页| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 97在线免费观看视频| 亚洲精品成人网站在线观看| 免费福利电影在线观看| 亚洲国产精品人久久电影| 性色av无码免费一区二区三区| 亚洲色偷偷综合亚洲AV伊人蜜桃 | 国产精品免费视频观看拍拍| 国产亚洲视频在线播放| 日韩中文字幕免费视频| 亚洲午夜成激人情在线影院| 永久中文字幕免费视频网站| 一级毛片在线完整免费观看| 久久亚洲国产欧洲精品一| 97视频免费在线| 老司机午夜性生免费福利 | 午夜亚洲国产理论片二级港台二级 | 在线亚洲精品福利网址导航| 久久免费视频观看| 亚洲一级毛片免费观看| 亚洲高清无码专区视频| 久久久久久久99精品免费观看 | 亚洲最大黄色网站| 暖暖免费高清日本一区二区三区| 黄视频在线观看免费| 亚洲国产成人在线视频| 免费国产不卡午夜福在线 |