posts - 66,  comments - 11,  trackbacks - 0

              HQL作為Hibernate的查詢語言,提供了ANSI SQL面向對象的封裝形式。
              與Criteria和HQL互為補充,Hibernate也提供了對原生SQL以及存儲過程的支持,相對于JDBC的SQL操作,Hibernate提供了更為妥善的封裝。代碼如下:

          package com.testproject.hibernate;

          import java.util.Iterator;
          import java.util.List;

          import org.hibernate.Query;
          import org.hibernate.Session;

          public class HibernateSqlQuery {
              Session session 
          = null;
              
          public void querySql(){
                  String sql 
          = "select {usr.*} from T_User usr";
                  List list 
          = session.createSQLQuery(sql).addEntity("usr", TUser.class).list();
                  Iterator it 
          = list.iterator();
                  
          while(it.hasNext()){
                      TUser user 
          = (TUser)it.next();
                  }

              }

              
          public void queryMappingSql(){
                  Query query 
          = session.getNamedQuery("queryUser");
                  query.setParameter(
          "name","Erica");
                  Iterator it 
          = query.list().iterator();
                  
          while(it.hasNext()){
                      TUser user 
          = (TUser)it.next();
                  }

              }

          }

           

          <?xml version="1.0"?>
          <!DOCTYPE hibernate-mapping PUBLIC
              "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
          >
          <hibernate-mapping>
              
          <class name="com.testproject.hibernate.TUser" table="T_USER">
                  
          <id name="id" column="id">
                      
          <generator class="native"></generator>
                  
          </id>
              
          </class>
              
          <sql-query name="queryUser">
                  
          <![CDATA[
                      select {usr.*} from T_User usr where name=:name
                  
          ]]>
                  
          <return alias = "usr" class="com.testproject.hibernate.TUser"></return>
              
          </sql-query>
              
          <!-- 基于存儲過程查詢 sql-query節(jié)點的callable屬性設定為true,指明當前查詢基于存儲過程定義-->
              
          <sql-query name="getUsersByAge" callable="true">
                  
          <return alias="user" class="com.testproject.hibernate.TUser">
                      
          <return-property name="id" column="ID"></return-property>
                      
          <return-property name="name" column="NAME"></return-property>
                      
          <return-property name="age" column="AGE"></return-property>
                  
          </return>
                  {?=call getUsersByAge(?)}
              
          </sql-query>
          </hibernate-mapping>






              與HQL相同,Native SQL也可以在實體映射文件中進行配置:

          posted on 2009-11-21 21:37 王永慶 閱讀(248) 評論(0)  編輯  收藏 所屬分類: HIBERNATE
          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          關注blogs

          搜索

          •  

          最新評論

          • 1.?re: 心中的那個她[未登錄]
          • 如果心情能那么容易放開就好了,碰到她是我的緣分,但是她的緣分不知道在哪里。
          • --王永慶
          • 2.?re: 心中的那個她[未登錄]
          • 兄弟,喜歡就大膽去追好了,就是因為喜歡才會有不愉快,如果想一輩子沒有這些煩惱,找一個可有可無的人就好了。這種事講的是緣分吧。別人對你好不好其實不太重要。放開心情就好了。
          • --萍水相逢
          • 3.?re: 心中的那個她
          • 只能同甘不能共苦,就他媽算了吧,程序員也是人啊!我現(xiàn)在也很討厭女的不理解人情。
          • --咖啡妝
          • 4.?re: 難以割舍的那份情感
          • 評論內(nèi)容較長,點擊標題查看
          • --王永慶
          • 5.?re: 難以割舍的那份情感
          • 評論內(nèi)容較長,點擊標題查看
          • --隔葉黃鶯

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 环江| 泗水县| 韶关市| 绍兴市| 云和县| 永昌县| 内黄县| 长垣县| 云南省| 乌苏市| 宁波市| 澄迈县| 皋兰县| 白河县| 乌什县| 迁西县| 宁武县| 镶黄旗| 彭水| 洛隆县| 浪卡子县| 宜宾县| 思茅市| 沂南县| 阳曲县| 砚山县| 宁海县| 河曲县| 镇远县| 启东市| 隆子县| 乾安县| 聂拉木县| 富裕县| 宁蒗| 磐石市| 邵东县| 永平县| 平安县| 宁海县| 慈溪市|