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

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

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

    城市獵人

    在一網(wǎng)情深的日子里,誰能說得清是苦是甜,只知道確定了就義無反顧
    posts - 1, comments - 7, trackbacks - 0, articles - 89

    Hibernate三種查詢方式

    Posted on 2009-01-12 17:54 sailor 閱讀(1015) 評論(0)  編輯  收藏 所屬分類: Hibernate
        大家知道,在Hibernate Framework中,提供了三種查詢數(shù)據(jù)的方式:

        1.Hibernate Query Language (HQL):

        它是ANSI SQL的最小OO Dialect,例:

    session.createQuery("from Category c where c.name like 'Laptop%'");
                         entityManager.createQuery("select c from Category c where c.name like 'Laptop%'");

        2.Criteria query :

        它是HQL查詢的延伸,提供了一些高級查詢功能例:

    session.createCriteria(Category.class)
                    .add( Restrictions.like("name", "Laptop%") );

        3.Native SQL query :

    session.createSQLQuery(
    "select {c.*} from CATEGORY {c} where NAME like 'Laptop%'"
    ).addEntity("c", Category.class);

        最近,我在項目中經(jīng)常遇到Hibernate數(shù)據(jù)查詢的任務(wù),我對一些我遇到的較難的課題舉例進行說明:

        《表述SELECT》

    Criteria crit = session.createCriteria(User.class)
    .setProjection( Projections.projectionList()
    .add( Projections.property("lastname"))
    .add( Projections.property("firstname"))
    .list();

        《表述WHERE》

    Criteria crit = session.createCriteria(User.class)
    .add(Restrictions.eq("email", "foo@hibernate.org"))
    .uniqueResult();

        《表述GROUP》

    Criteria crit = session.createCriteria(User.class)
    .setProjection( Projections.projectionList()
    .add( Projections.groupProperty("lastname"))
    .add( Projections.groupProperty("firstname"))
    .list()

        《表述ORDER》

    Criteria crit = session.createCriteria(User.class)
    .addOrder( Order.asc("lastname") )
    .addOrder( Order.asc("firstname") )
    .list();

        《取TOP 5結(jié)果》:

    Criteria crit = session.createCriteria(Cat.class);
    .setMaxResults(5)
    .list();

        《分頁》:

    Criteria crit = session.createCriteria(Cat.class)
    .setFirstResult(1)
    .setMaxResults(50)
    .list();

        《取查詢結(jié)果》:

    如果使用select或group,必須使用object[]來獲得查詢結(jié)果List值;
    如果未使用select或group,必須使用java object[]來獲得查詢結(jié)果List值;

        《涉及組合primary key屬性》:

    Criteria crit = session.createCriteria(activitylog.class)
    .add( Restricts.eq(“comp_id.custId”,customerid0) )
    .add( Restricts.ge(“createdTs”, starttime) )
    .add( Restricts.le(“createdTs”, endtime ) )
    .list();

        《Foreign Key聯(lián)合查詢》:

    Criteria crit = session.createCriteria(activitylog.class)
    .createAlias( “taskCodeRf”, “tc” )
    .setProjection( Projections.projectionList()
    .add( Projections.property("UserId"))
    .add( Projections.property("tc.taskdescription"))
    .list();

        《Native Query》:

    SQLQuery query = session.createSQLQuery(“select  activitylog_seq.nextval as sessid from dual”);
    Query.addScalar(“sessid”,Hibernate.LONG);
    Long long0 = query.uniqueResult();



    來源:http://www.99java.com/article/34/200812/200812171145.html

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲成AV人影片在线观看| 亚洲狠狠久久综合一区77777| 国产成人精品日本亚洲网址| 99久久人妻精品免费二区| 亚洲男人天堂2017| 97在线视频免费播放| 99人中文字幕亚洲区| 18观看免费永久视频| 亚洲国产综合人成综合网站00| 999在线视频精品免费播放观看| 亚洲伦理中文字幕| 四虎影视www四虎免费| 国产精品亚洲精品久久精品| 又色又污又黄无遮挡的免费视| 九九免费观看全部免费视频| 亚洲V无码一区二区三区四区观看| 99精品国产成人a∨免费看| 亚洲一区二区免费视频| 免费理论片51人人看电影| 黄色毛片视频免费| 亚洲AV中文无码乱人伦下载| 免费观看美女用震蛋喷水的视频| 亚洲中文字幕无码av永久| 亚洲国产一成久久精品国产成人综合 | 日本免费一区二区在线观看| 亚洲一区电影在线观看| 日本久久久免费高清| 一级做受视频免费是看美女| 亚洲人成亚洲精品| 精品久久久久久久免费人妻| 一本大道一卡二大卡三卡免费| 亚洲电影国产一区| 午夜免费福利网站| baoyu116.永久免费视频| 激情综合亚洲色婷婷五月APP| 国产99视频精品免费视频7| 美女视频黄a视频全免费网站色窝| 亚洲精品国产第1页| 免费在线观看黄网站| 99久久精品国产免费| 亚洲av中文无码字幕色不卡|