精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

對Hibernate Formula作用的全析

開發 后端
Hibernate Formula作用就是說白了就是用一個查詢語句動態的生成一個類的屬性,比如java eye登陸之后 收件箱顯示有幾封未讀郵件的數字,就是一條select count(*)...構成的虛擬列,而不是存儲在數據庫里的一個字段。

Hibernate Formula作用很強大,下面我們具體來講述Hibernate Formula的應用,希望對大家有很大的幫助。

閱讀對象:

  1.已經在使用Hibernate JPA完成持久化映射的朋友。

  2.在網上搜索Formula并通通搜到轉載oralce一篇技術文章或hibernate annotations技術文檔的朋友。

  3.發現@Formula不能使用并想Ctrl+Delete hibernate jar包,然后砸爛顯示器的朋友。

本文將說明如何使用@Formula,并且說明在哪幾種情況下@Formula會失靈。

1.Hibernate Formula作用

引用Hibernate annotations技術文檔中的解釋可以很好的說明@Formula的作用,但它確實沒有說清楚怎么使用,并且給出的示例是用不了的,這讓我浪費了好幾個鐘頭的時間!

Hibernate Formula作用就是說白了就是用一個查詢語句動態的生成一個類的屬性,比如java eye登陸之后 收件箱顯示有幾封未讀郵件的數字,就是一條select count(*)...構成的虛擬列,而不是存儲在數據庫里的一個字段。用比較標準的說法就是:有時候,你想讓數據庫,而非JVM,來替你完成一些計算,也可能想創建某種虛擬列,你可以使用sql片段,而不是將屬性映射(物理)列。這種屬性是只讀的(屬性值由公式求得).Formula甚至可以包含sql子查詢

Formula真的這么強大嗎?確實,它很好很強大,節省了不少代碼!

2.使用Formula

  1. package aa;      
  2.      
  3. import static javax.persistence.GenerationType.IDENTITY;      
  4.      
  5. import javax.persistence.Entity;      
  6. import javax.persistence.GeneratedValue;      
  7. import javax.persistence.Id;      
  8. import javax.persistence.Table;      
  9.      
  10. import org.hibernate.annotations.Formula;      
  11.      
  12. /**     
  13.  * 注解必須是在屬性上的,如果有任何一個注解在方法上,那么@Formula將失效     
  14.  * @author 昆明蜂鳥軟件     
  15.  * @version 0.1.0 2008-7-15 下午06:09:38     
  16.  */     
  17. @Entity     
  18. @Table(name = "user"catalog = "test")      
  19. public class User {      
  20.           
  21.     @Id     
  22.     @GeneratedValue(strategy = IDENTITY)      
  23.     private int id;      
  24.      
  25.     @Formula("(select COUNT(*) from user)")      
  26.     private int count;      
  27.      
  28.     public int getId() {      
  29.         return id;      
  30.     }      
  31.      
  32.     public void setId(int id) {      
  33.         this.id = id;      
  34.     }      
  35.      
  36.     public int getCount() {      
  37.         return count;      
  38.     }      
  39.      
  40.     public void setCount(int count) {      
  41.         this.count = count;      
  42.     }      
  43. }     
  44. package aa;  
  45. import static javax.persistence.GenerationType.IDENTITY;  
  46. import javax.persistence.Entity;  
  47. import javax.persistence.GeneratedValue;  
  48. import javax.persistence.Id;  
  49. import javax.persistence.Table;  
  50. import org.hibernate.annotations.Formula;  
  51. /**  
  52. * 注解必須是在屬性上的,如果有任何一個注解在方法上,那么@Formula將失效  
  53. * @author 昆明蜂鳥軟件  
  54. * @version 0.1.0 2008-7-15 下午06:09:38  
  55. */  
  56. @Entity  
  57. @Table(name = "user"catalog = "test")  
  58. public class User {  
  59. @Id  
  60. @GeneratedValue(strategy = IDENTITY)  
  61. private int id;  
  62. @Formula("(select COUNT(*) from user)")  
  63. private int count;  
  64. public int getId() {  
  65. return id;  
  66. }  
  67. public void setId(int id) {  
  68. this.id = id;  
  69. }  
  70. public int getCount() {  
  71. return count;  
  72. }  
  73. public void setCount(int count) {  
  74. this.count = count;  
  75. }  
  76. }  
  77.  

數據庫表:Sql代碼

  1. CREATE TABLE  `test`.`user` (      
  2.   `id` int(10) unsigned NOT NULL auto_increment,      
  3.   PRIMARY KEY  USING BTREE (`id`)      
  4. ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;  

細節1.使用@Formula 你的注解必須是在屬性上,如果有一個注解在方法上,那么@Formula將失效。這個我是做過實驗的,比如把以上的java文件改為:

Java代碼

  1. package aa;      
  2.      
  3. import static javax.persistence.GenerationType.IDENTITY;      
  4.      
  5. import javax.persistence.Entity;      
  6. import javax.persistence.GeneratedValue;      
  7. import javax.persistence.Id;      
  8. import javax.persistence.Table;      
  9.      
  10. import org.hibernate.annotations.Formula;      
  11.      
  12. /**     
  13.  * 注解必須是在屬性上的,如果有任何一個注解在方法上,那么@Formula將失效     
  14.  * @author 昆明蜂鳥軟件     
  15.  * @version 0.1.0 2008-7-15 下午06:09:38     
  16.  */     
  17. @Entity     
  18. @Table(name = "user"catalog = "test")      
  19. public class User {      
  20.           
  21.     private int id;      
  22.      
  23.     @Formula("(select COUNT(*) from user)")      
  24.     private int count;      
  25.           
  26.     @Id     
  27.     @GeneratedValue(strategy = IDENTITY)      
  28.     public int getId() {      
  29.         return id;      
  30.     }      
  31.      
  32.     public void setId(int id) {      
  33.         this.id = id;      
  34.     }      
  35.      
  36.     public int getCount() {      
  37.         return count;      
  38.     }      
  39.      
  40.     public void setCount(int count) {      
  41.         this.count = count;      
  42.     }      
  43. }     
  44. package aa;  
  45. import static javax.persistence.GenerationType.IDENTITY;  
  46. import javax.persistence.Entity;  
  47. import javax.persistence.GeneratedValue;  
  48. import javax.persistence.Id;  
  49. import javax.persistence.Table;  
  50. import org.hibernate.annotations.Formula;  
  51. /**  
  52. * 注解必須是在屬性上的,如果有任何一個注解在方法上,那么@Formula將失效  
  53. * @author 昆明蜂鳥軟件  
  54. * @version 0.1.0 2008-7-15 下午06:09:38  
  55. */  
  56. @Entity  
  57. @Table(name = "user"catalog = "test")  
  58. public class User {  
  59. private int id;  
  60. @Formula("(select COUNT(*) from user)")  
  61. private int count;  
  62. @Id  
  63. @GeneratedValue(strategy = IDENTITY)  
  64. public int getId() {  
  65. return id;  
  66. }  
  67. public void setId(int id) {  
  68. this.id = id;  
  69. }  
  70. public int getCount() {  
  71. return count;  
  72. }  
  73. public void setCount(int count) {  
  74. this.count = count;  
  75. }  
  76. }  
  77.  

這樣@Formula就不可以運行!!!我前邊就是被Hibernate官方的文檔給搞暈了。

細節2.既然@Formula 是一個虛擬列,那么數據庫中不需要建這一列,同樣可以,如果有個列存在,hibernate也會將   其忽略。以上示例中的user就沒有count列。

細節3.sql語句必須寫在()中,這個以前也有人說過。

細節4.如果有where子查詢,那么表需要用別名,比如 select COUNT(*) from user where id=1 是錯的

而select COUNT(*) from user u where u.id=1是正確的

細節5.只要是你在數據庫的sql控制臺執行過的語句,并且使用了表別名,那么@Formula都應該是支持的。

 

確實@Formula是一個很常用且好用的東西!希望這篇文章能幫助你~~

【編輯推薦】

  1. Hibernate入門學習寶典
  2. Hibernate屬性簡單分析
  3. Struts-Spring-Hibernate案例
  4. Hibernate Sessin接口常用方法
  5. Hibernate事務全面介紹
責任編輯:仲衡 來源: blogjava
相關推薦

2009-09-24 09:18:18

2010-02-22 11:02:55

Python功能

2010-03-01 13:19:21

Python線程內容

2009-09-23 17:36:26

Hibernate優點

2010-09-16 12:02:44

vpdn pppoe配

2010-09-29 14:04:25

RHCE DHCP配置

2009-06-12 15:05:03

cascadeHibernate

2010-07-21 16:08:57

telnet命令

2010-09-06 09:18:08

PPP Options

2009-09-23 14:40:17

Hibernate F

2009-06-18 14:51:12

Hibernate緩存Hibernate

2009-06-16 14:36:54

Hibernate繼承

2009-09-22 13:25:54

Hibernate M

2009-09-23 14:05:08

Hibernate接口

2009-09-22 13:35:04

Hibernate A

2010-02-04 13:43:20

Android操作系統

2009-06-04 10:34:19

Hibernate一對一對多關系配置

2009-09-22 09:55:58

Hibernate實例

2009-06-18 14:22:06

Hibernate多對Hibernate

2021-04-26 14:29:56

大數據經濟信息
點贊
收藏

51CTO技術棧公眾號

成人午夜精品| 国内精品久久久久久久久久| 日韩精品导航| 欧美影院一区二区| 日韩 欧美 自拍| 五月激情丁香婷婷| 蜜桃在线一区二区三区| 久久久久久久久国产| 国产精品久久免费观看| 中文字幕一区二区三区日韩精品 | 亚洲毛片一区二区| 最新av免费在线观看| 三级中文字幕在线观看| 亚洲天天做日日做天天谢日日欢| 国产区二精品视| 亚洲影视一区二区| 亚洲免费精品| 久久综合伊人77777蜜臀| 最新在线黄色网址| 国产精品一区二区美女视频免费看| 精品国产91久久久久久| 四虎免费在线观看视频| 搞黄视频免费在线观看| 高潮精品一区videoshd| 国产欧美日韩中文| 亚洲第一在线播放| 激情久久久久久久| 久久亚洲精品成人| 国产在线免费av| 久久99视频| 亚洲精品动漫久久久久| 日韩av成人网| 日韩三级不卡| 91精品国产综合久久久蜜臀粉嫩| 成人亚洲视频在线观看| 超碰一区二区| 黑人巨大精品欧美一区免费视频| 国产xxxx振车| 亚洲第一图区| 亚洲综合丝袜美腿| 蜜臀av.com| 成人免费网站在线观看视频| 国产嫩草影院久久久久| 欧美一区少妇| 蝌蚪视频在线播放| 91丝袜国产在线播放| 国产综合18久久久久久| 亚洲精品成人电影| 国产精品一二三四| 亚洲综合中文字幕在线观看| 国产精品久久欧美久久一区| 蜜桃视频一区二区| 成人a在线视频| 国产一区免费看| 日本va欧美va瓶| 国产精品麻豆va在线播放| 亚洲视屏在线观看| 麻豆精品在线播放| 91在线精品播放| 国产毛片毛片毛片毛片| 精品一区二区成人精品| 91色精品视频在线| 国产肥老妇视频| 国产成人午夜精品影院观看视频 | 白嫩少妇丰满一区二区| 日本美女一区| 欧美人妇做爰xxxⅹ性高电影| 成人亚洲免费视频| 精品国产亚洲一区二区三区| 欧美r级电影在线观看| 日本一级大毛片a一| 开心激情综合| 亚洲情综合五月天| 久久嫩草捆绑紧缚| 欧美三级网页| 奇米四色中文综合久久| 亚洲男人天堂网址| 九九**精品视频免费播放| 91中文字精品一区二区| 三级视频在线播放| 中文字幕巨乱亚洲| 久久久久久久久久伊人| 黄色污网站在线观看| 91成人免费电影| 涩多多在线观看| 国产精品美女在线观看直播| 亚洲欧美日韩国产中文| 国产在线观看免费视频软件| 国产一区欧美| 国产精品99蜜臀久久不卡二区| 国产精品美女一区| 99国产欧美久久久精品| 亚洲一区二区在线免费观看| 国产天堂在线播放视频| 在线免费不卡电影| 中文字幕99页| 成人av二区| 欧美精品成人在线| 成人黄色免费网| 高清不卡在线观看| 日本不卡一区| 超碰97免费在线| 欧美性猛交xxxx乱大交退制版| 久久黄色一级视频| 欧美少妇xxxx| 久久久久中文字幕| 亚洲综合精品在线| www.久久久久久久久| 在线观看亚洲视频啊啊啊啊| 丝袜老师在线| 精品对白一区国产伦| 国产精品久久久免费看| 亚洲在线观看| 成人资源av| 91精品大全| 精品久久久久久中文字幕| 17c国产在线| 国产一区二区三区91| 久久久天堂国产精品女人| 亚洲天堂久久久久| 久久久综合激的五月天| 缅甸午夜性猛交xxxx| 成人午夜888| 中文字幕日韩精品有码视频| 日韩精品人妻中文字幕| 风流少妇一区二区| 福利网在线观看| 日韩毛片网站| 中文字幕精品网| 精品国产乱子伦| 91影院在线观看| 男人天堂av片| 哺乳一区二区三区中文视频| 久久精品2019中文字幕| 中文字幕在线播放日韩| 国产嫩草影院久久久久| 国内自拍视频网| 国模精品一区| 国产成人欧美在线观看| 国产中文在线观看| 在线日韩一区二区| 日韩视频在线观看免费视频| 日韩专区中文字幕一区二区| 欧美日韩精品免费看| 欧美大胆a人体大胆做受| 亚洲国产毛片完整版| 精品在线视频免费观看| 成人国产精品视频| 欧美一区二区三区爽大粗免费| 国产精品毛片久久久| 国内精品久久久| 无码精品人妻一区二区三区影院| 午夜精品一区二区三区电影天堂 | 6—12呦国产精品| 欧美国产在线观看| 九色porny自拍| 国产精品久久天天影视| 91中文字幕一区| 日本动漫理论片在线观看网站| 91精品国产高清一区二区三区 | 欧美中文一区二区三区| 林心如三级全黄裸体| 久久电影网站中文字幕| mm131午夜| aaa国产精品| 97成人精品区在线播放| 国产福利小视频在线| 欧美日韩亚洲丝袜制服| 熟女少妇a性色生活片毛片| 国产精品一区二区男女羞羞无遮挡| 97超碰在线视| 欧美美女在线直播| 国产精品r级在线| 欧美激情二区| 精品国产乱码久久久久久夜甘婷婷| 日韩精品成人在线| 欧美极品美女视频| 久久久国产精品久久久| 国产一区二区三区的电影| 午夜精品一区二区在线观看| 国产精品视频一区二区三区综合| 欧美日韩国产第一页| 青青草免费在线视频| 欧美精品123区| 午夜精品久久久久久久久久久久久蜜桃| 久久免费看少妇高潮| 91视频这里只有精品| 欧美日韩一区二区三区四区在线观看 | 和岳每晚弄的高潮嗷嗷叫视频| 图片婷婷一区| 91九色单男在线观看| www.51av欧美视频| xxav国产精品美女主播| 日批视频免费播放| 欧美日韩中文一区| 日本熟妇毛耸耸xxxxxx| 国产精品理论片| 美女搡bbb又爽又猛又黄www| 日本 国产 欧美色综合| 成人精品视频在线播放| 久久亚洲成人| 欧美激情一区二区三区在线视频 | 精品久久久久久久久久久久包黑料 | 国产精品久久久久久亚洲色| 久久99精品一区二区三区| 人人妻人人添人人爽欧美一区| 五月天综合网站| 麻豆一区区三区四区产品精品蜜桃| 国产高清视频一区二区| 国产99久久精品一区二区永久免费 | 日本中文字幕在线播放| 日韩av在线一区二区| 国产强被迫伦姧在线观看无码| 色一情一伦一子一伦一区| 久久久www成人免费毛片| 中文字幕不卡三区| 国产一级二级在线观看| 国产精品99久久久久久有的能看| av在线无限看| 蘑菇福利视频一区播放| 无码中文字幕色专区| 亚洲中无吗在线| 亚洲一区二区三区加勒比| 亚洲97av| 久久99精品久久久久久青青日本 | 六月丁香婷婷色狠狠久久| 欧美 日韩精品| 亚洲激情综合| av一区二区三区免费观看| 国产精品久久久久久久免费观看 | 九九热久久66| 99re热精品视频| 91青青草免费观看| 免费观看亚洲视频大全| 成人激情视频免费在线| 欧美大陆国产| 国产日韩亚洲欧美| 日韩久久一区| 国产在线不卡精品| www.成人在线.com| 成人在线视频网站| 亚洲网站免费| 91欧美激情另类亚洲| 精品一区二区三区视频在线播放| 国产欧美一区二区三区在线| 日韩电影免费观看高清完整版在线观看| 国产精品第1页| 欧美黄色网络| 亚洲一区二区中文| 日本在线视频一区二区三区| 91精品国产高清久久久久久91裸体 | 精品成人私密视频| 天堂中文网在线| 亚洲精品永久免费精品| 美女毛片在线看| 在线观看国产成人av片| 老司机在线视频二区| 久久在线精品视频| 牛牛电影国产一区二区| 97视频免费在线观看| 这里有精品可以观看| 国产精品福利小视频| 国产精品亚洲成在人线| 91精品视频大全| 99re8这里有精品热视频免费| 国产精品一区二区av| 欧美日韩一区二区三区在线电影 | 91免费版网站在线观看| 国产成人精品福利| 欧美在线视频二区| 婷婷久久一区| 韩日视频在线观看| 丝袜诱惑制服诱惑色一区在线观看 | gogo在线观看| 国自在线精品视频| 欧美三级精品| 亚洲一区二区三区777| 国产精品x8x8一区二区| 欧美久久久久久| 久久久久国产精品| 日本中文字幕网址| 美女视频黄a大片欧美| av影片在线播放| 久久久精品综合| 日韩欧美123区| 日韩欧美黄色动漫| 国产av一区二区三区| 日韩精品免费看| www国产在线观看| 欧亚精品中文字幕| 国模大尺度视频一区二区| 激情伦成人综合小说| 久久视频在线| 免费看的黄色大片| 国产乱码精品一区二区三区忘忧草 | 亚洲第一论坛sis| 中文字幕一区二区三区有限公司 | 欧美日韩中文在线| 91 中文字幕| 亚洲欧美另类国产| 日本h片在线| 国产在线观看一区二区三区| 麻豆一区二区麻豆免费观看| 中国成人亚色综合网站| 久久狠狠一本精品综合网| 少妇极品熟妇人妻无码| 中文欧美字幕免费| 国产一级做a爱片久久毛片a| 日韩午夜在线观看视频| 91社区在线观看| 日本精品视频网站| 成人看片爽爽爽| eeuss中文| 日韩精品一二三区| 一级做a爰片毛片| 洋洋成人永久网站入口| 国产精品人人妻人人爽| 亚洲人成人99网站| 麻豆免费在线| 国产精品一区二区a| 午夜久久黄色| 午夜免费福利网站| 国产精品天干天干在线综合| www.com国产| 亚洲国产日韩欧美综合久久| 日韩经典av| 99视频在线播放| 欧美国产综合| a级大片免费看| 中文字幕一区三区| 伊人精品在线视频| 一区二区三区亚洲| 国产精品扒开腿做爽爽爽视频软件| 国产综合18久久久久久| 99re国产精品| 男人的天堂影院| 亚洲成a人v欧美综合天堂下载 | 国产一区二区三区四区五区3d| 美女三级99| av在线免费观看网址| 国产一区二三区| 久久久在线观看| 伊人影院综合网| 美女一区二区久久| 狠狠人妻久久久久久综合蜜桃| 亚洲成人免费看| 成人午夜精品福利免费| 欧美韩国理论所午夜片917电影| 日本高清久久| 国内少妇毛片视频| 成人福利视频网站| 国产精品美女久久久久av爽| 亚洲精品一区二区三区不| 欧美magnet| 亚洲精品中文综合第一页| 免费人成黄页网站在线一区二区 | 91女人18毛片水多国产| 久久精视频免费在线久久完整在线看| 亚洲毛片在线免费| 国产乱子伦精品视频| 成人国产电影网| 天堂网中文字幕| 国产亚洲精品久久久久久777| www成人在线视频| 亚洲一区二区三区精品在线观看| 国产一区久久久| 国产精品99精品无码视| 精品视频在线观看日韩| 91精品xxx在线观看| 最新精品视频| 国产成人精品免费视频网站| 自拍偷拍欧美亚洲| 国产午夜精品一区二区三区 | 日本免费高清不卡| 黄网站免费久久| 福利一区二区三区四区| 亚洲欧洲在线视频| 懂色av色香蕉一区二区蜜桃| 男女视频网站在线观看| 国产亚洲一区二区三区| 亚洲中文一区二区三区| 欧美精品videossex88| 国产精品亚洲人成在99www| 在线观看岛国av| 亚洲国产日韩a在线播放性色| 国产精品一二三区视频| 91成人免费在线观看| 天堂成人免费av电影一区| 91麻豆免费视频网站| 亚洲精品在线视频| 国产精品国产亚洲精品| 久久久久久久激情| 亚洲精品国产精品乱码不99| 免费理论片在线观看播放老| 亚洲综合一区二区不卡| 日本在线不卡一区| 久久精品一区二区三| 一区二区三区 在线观看视| av一级亚洲| 九九热精品在线播放|