真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hibernate查詢語句如何統(tǒng)一配置管理

這篇文章給大家分享的是有關(guān)Hibernate查詢語句如何統(tǒng)一配置管理的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)建站始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)十多年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)營銷解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:辦公空間設(shè)計(jì)等企業(yè),備受客戶好評(píng)。

你以前所參與的項(xiàng)目里面,SQL、HQL,是否滿天飛呢?在邏輯層,顯示層那里都可以看到隨手寫的Hibernate查詢語句?這樣的做法極度的破壞了分層的架構(gòu),無論如何的XP也應(yīng)該遵循一定的管理與規(guī)范,那么統(tǒng)一管理查詢語句的重要性就凸現(xiàn)了。

統(tǒng)一管理查詢語句有何優(yōu)點(diǎn)?

1、保持系統(tǒng)的分層架構(gòu),管理語句是持久層的責(zé)任,由它自己管理是最適合不過。松散的耦合總是我們向往的目標(biāo)。

2、統(tǒng)一管理方便修改,可以減小人手修改帶來的低級(jí)錯(cuò)誤。

OK,接下來要考慮如何管理這些語句來了。

1、配置文件管理

在Hibernate查詢語句的mapping文件內(nèi)使用 

Xml代碼

           from User eo where eo.id = ?                  from User eo where eo.id = ?         里面就是要使用的hql語句 屬性name就是語句保存在容器里的別名。                在hibernate的mapping文件內(nèi)使用      Xml代碼                                   SELECT user.id AS {user.id},                                  user.name AS {user.name}                     FROM t_user user WHERE user.name = ?                                    SELECT user.id AS {user.id},                               user.name AS {user.name}                  FROM t_user user WHERE user.name = ?   

里面的語句必須是sql語句,屬性name就是語句保存在容器里的別名,里面的東東標(biāo)明了返回對(duì)象的類型與別名,別名主要用于對(duì)應(yīng)sql里面{}的內(nèi)容。

寫好mapping文件后當(dāng)然要告訴hibernate將這些語句加入到容器里面咯,配置方法有很多種,這里只列了使用spring結(jié)合hibernate的配置方式,在SessionFactoryBean的配置里面加入 

Xml代碼

                                                    classpath:hbm/name-query.hbm.xml                                                                                 classpath:hbm/name-query.hbm.xml                         

的使用比較復(fù)雜,所以不是遇到復(fù)雜的跨表查詢時(shí),不推薦使用。

2、標(biāo)簽管理

Hibernate查詢語句中,一般的習(xí)慣都是使用@NamedQueries將與自己相關(guān)的語句統(tǒng)一在實(shí)體里面,如查詢User的語句都是放到User對(duì)象里面

Java代碼

@Entity    @Table(name = "t_user")      @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @NamedQueries( {             @NamedQuery(name = "User.findById",                     query = "FROM User eo where eo.id=? ") })      public class User implements java.io.Serializable {                                           private int id;                                    private String name;    @Entity @Table(name = "t_user")   @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @NamedQueries( {          @NamedQuery(name = "User.findById",                  query = "FROM User eo where eo.id=? ") })   public class User implements java.io.Serializable {                                     private int id;                              private String name;

使用標(biāo)簽管理可以比較好的分類Hibernate查詢語句,也不用搞麻煩的配置文件,雖然說修改配置文件的Hibernate查詢語句可以不用重新編譯就能生效,但是查詢語句修改也不會(huì)十分頻繁,所以標(biāo)簽管理是一個(gè)不錯(cuò)的選擇。

感謝各位的閱讀!關(guān)于“Hibernate查詢語句如何統(tǒng)一配置管理”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


網(wǎng)站欄目:Hibernate查詢語句如何統(tǒng)一配置管理
轉(zhuǎn)載來源:http://weahome.cn/article/gjjoei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部