成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate查詢語句統一配置管理

開發 后端
本文向您介紹Hibernate查詢語句中統一配置管理的方法,包括配置文件的管理和標簽管理等。

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

統一管理查詢語句有何優點?

1、保持系統的分層架構,管理語句是持久層的責任,由它自己管理是最適合不過。松散的耦合總是我們向往的目標。

2、統一管理方便修改,可以減小人手修改帶來的低級錯誤。

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

1、配置文件管理

在Hibernate查詢語句的mapping文件內使用<query> 

Xml代碼

  1. <query name='findUserById'>      
  2.      from User eo where eo.id = ?      
  3. </query>   
  4.  
  5. <query name='findUserById'>   
  6.      from User eo where eo.id = ?   
  7. </query>      <query>里面就是要使用的hql語句 屬性name就是語句保存在容器里的別名。  
  8.  
  9.       
  10.  
  11.       在hibernate的mapping文件內使用<sql-query>     
  12.  
  13. Xml代碼   
  14. <sql-query name="findUserByName">      
  15.      <return alias="user" class="hibernate.entity.User"/>      
  16.                SELECT user.id AS {user.id},      
  17.                             user.name AS {user.name}      
  18.                FROM t_user user WHERE user.name = ?      
  19. </sql-query>   
  20.  
  21. <sql-query name="findUserByName">   
  22.      <return alias="user" class="hibernate.entity.User"/>   
  23.                SELECT user.id AS {user.id},   
  24.                             user.name AS {user.name}   
  25.                FROM t_user user WHERE user.name = ?   
  26. </sql-query> 

<sql-query>里面的語句必須是sql語句,屬性name就是語句保存在容器里的別名,<reruen>里面的東東標明了返回對象的類型與別名,別名主要用于對應sql里面{}的內容。

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

Xml代碼

  1. <property name="mappingLocations">      
  2.        <list>      
  3.            <value>      
  4.                 classpath:hbm/name-query.hbm.xml      
  5.            </value>      
  6.        </list>    
  7. </property>   
  8.  
  9. <property name="mappingLocations">   
  10.        <list>   
  11.            <value>   
  12.                 classpath:hbm/name-query.hbm.xml   
  13.            </value>   
  14.        </list> 
  15. </property> 

<sql-query>的使用比較復雜,所以不是遇到復雜的跨表查詢時,不推薦使用。

2、標簽管理

Hibernate查詢語句中,一般的習慣都是使用@NamedQueries將與自己相關的語句統一在實體里面,如查詢User的語句都是放到User對象里面

Java代碼

  1. @Entity    
  2. @Table(name = "t_user")      
  3. @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @NamedQueries( {      
  4.        @NamedQuery(name = "User.findById",      
  5.                query = "FROM User eo where eo.id=? ") })      
  6. public class User implements java.io.Serializable {      
  7.                      
  8.                 private int id;      
  9.               
  10.                 private String name;   
  11.  
  12. @Entity 
  13. @Table(name = "t_user")   
  14. @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @NamedQueries( {   
  15.        @NamedQuery(name = "User.findById",   
  16.                query = "FROM User eo where eo.id=? ") })   
  17. public class User implements java.io.Serializable {   
  18.                   
  19.                 private int id;   
  20.            
  21.                 private String name; 

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

 

【編輯推薦】

  1. Hibernate優化查詢功能
  2. Hibernate2和Hibernate3連接池配置
  3. Hibernate 連接池的配置方式
  4. 關于Hibernate級聯刪除的問題
  5. Hibernate 刪除出現異常的解決方案
責任編輯:佚名 來源: JavaEye
相關推薦

2009-09-24 10:35:10

Hibernate查詢

2022-09-09 10:00:13

KubernetesConfigMap

2023-04-10 08:11:27

Jenkins數據庫

2010-12-21 18:07:39

2021-08-09 06:57:42

客戶端流程配置

2021-09-08 15:09:29

鴻蒙HarmonyOS應用

2010-01-08 10:18:47

Ubuntu MySQ

2022-05-06 12:04:24

Ansible管理工具

2023-05-30 07:50:56

項目管理權限

2009-09-24 10:15:37

Hibernate查詢

2023-04-27 08:18:25

GitLab開源

2011-02-25 14:00:15

ProFTPD

2011-11-23 13:29:05

2009-03-03 17:17:52

環境配置軟件開發

2009-07-02 09:23:27

Hibernate緩存

2013-10-22 09:37:14

網絡配置管理網絡性能監控

2011-05-17 14:25:44

虛擬化安全VMwareShavlik

2009-03-25 09:52:00

虛擬網絡VLAN配置

2021-03-27 10:51:21

SaaS安全配置管理SSPM)攻擊

2022-07-07 10:43:58

安全配置管理SCM
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品在线视频 | 久久尤物免费一区二区三区 | 亚洲精品久久国产高清情趣图文 | 色视频在线免费观看 | 黄色网址免费在线观看 | 韩日av片| 精品国产乱码久久久久久牛牛 | 午夜免费电影 | 亚洲 自拍 另类 欧美 丝袜 | 成人在线中文字幕 | 中国91av| 中文字幕在线观看 | 久久成人久久 | 国产精品视频一二三区 | 久热国产精品 | 日韩超碰 | 成人免费一区二区三区牛牛 | 成年免费在线观看 | 欧美性网 | 最新中文字幕第一页视频 | 嫩草伊人 | 91av在线视频观看 | 欧美一区二区三区国产 | 国产精品激情在线 | av香蕉 | 视频一区二区在线观看 | 91网站视频在线观看 | 91亚洲精品在线 | 激情av | 精品久久久久久久久久久 | 国产伦精品一区二区三区精品视频 | 久久久精品一区二区三区 | 国产99久久久国产精品 | 精品二区视频 | 免费在线观看av网站 | 久久专区 | 网站黄色在线免费观看 | 国产精品观看 | 午夜视频在线观看网址 | 亚洲另类春色偷拍在线观看 | 日韩精品免费视频 |