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

Hibernate數據庫事務攻略

開發 后端
Hibernate數據庫事務的聲明總是必須的。在Hibernate數據庫事務之外,就無法和數據庫通訊(這可能會讓那些習慣于 自動提交事務模式的開發人員感到迷惑)。

Hibernate數據庫事務有很多值得學習的地方,這里我們主要介紹Hibernate數據庫事務聲明,包括介紹 非托管環境、使用JTA、異常處理等方面。

Hibernate數據庫事務聲明

數據庫(或者系統)事務的聲明總是必須的。在數據庫事務之外,就無法和數據庫通訊(這可能會讓那些習慣于 自動提交事務模式的開發人員感到迷惑)。永遠使用清晰的事務聲明,即使只讀操作也是如此。進行顯式的事務聲明并不總是需要的,這取決于你的事務隔離級別和數據庫的能力,但不管怎么說,聲明事務總歸有益無害。當然,一個單獨的數據庫事務總是比很多瑣碎的事務性能更好,即時對讀數據而言也是一樣。

一個Hibernate應用程序可以運行在非托管環境中(也就是獨立運行的應用程序,簡單Web應用程序, 或者Swing圖形桌面應用程序),也可以運行在托管的J2EE環境中。在一個非托管環境中,Hibernate 通常自己負責管理數據庫連接池。應用程序開發人員必須手工設置事務聲明,換句話說,就是手工啟 動,提交,或者回滾數據庫事務。一個托管的環境通常提供了容器管理事務(CMT),例如事務裝配通過可聲 明的方式定義在EJB session beans的部署描述符中。可編程式事務聲明不再需要,即使是 Session 的同步也可以自動完成。

讓持久層具備可移植性是人們的理想,這種移植發生在非托管的本地資源環境,與依賴JTA但是使用BMT而非CMT的系統之間。在兩種情況下你都可以使用編程式的事務管理。Hibernate提供了一套稱為Transaction的封裝API, 用來把你的部署環境中的本地事務管理系統轉換到Hibernate事務上。這個API是可選的,但是我們強烈 推薦你使用,除非你用CMT session bean。

通常情況下,結束 Session 包含了四個不同的階段:

◆同步session(flush,刷出到磁盤)

◆提交事務

◆關閉session

◆處理異常

session的同步(flush,刷出)前面已經討論過了,我們現在進一步考察在托管和非托管環境下的事務聲明和異常處理。

1.非托管環境

如果Hibernat持久層運行在一個非托管環境中,數據庫連接通常由Hibernate的簡單(即非DataSource)連接池機制 來處理。session/transaction處理方式如下所示:

  1. //Non-managed environment idiom  
  2. Session sess = factory.openSession();  
  3. Transaction tx = null;  
  4. try {  
  5.     tx = sess.beginTransaction();  
  6.  
  7.     // do some work  
  8.     ...  
  9.  
  10.     tx.commit();  
  11. }  
  12. catch (RuntimeException e) {  
  13.     if (tx != null) tx.rollback();  
  14.     throw e; // or display error message  
  15. }  
  16. finally {  
  17.     sess.close();  
  18. }  

你不需要顯式flush() Session - 對commit()的調用會自動觸發session的同步(取決于session的第 10.10 節 “Session刷出(flush)”)。調用 close() 標志session的結束。close()方法重要的暗示是,session釋放了JDBC連接。這段Java代碼在非托管環境下和JTA環境下都可以運行。

更加靈活的方案是Hibernate內置的"current session"上下文管理,前文已經講過:

  1. // Non-managed environment idiom with getCurrentSession()  
  2. try {  
  3.     factory.getCurrentSession().beginTransaction();  
  4.  
  5.     // do some work  
  6.     ...  
  7.  
  8.     factory.getCurrentSession().getTransaction().commit();  
  9. }  
  10. catch (RuntimeException e) {  
  11.     factory.getCurrentSession().getTransaction().rollback();  
  12.     throw e; // or display error message  
  13. }  

你很可能從未在一個通常的應用程序的業務代碼中見過這樣的代碼片斷:致命的(系統)異常應該總是 在應用程序“頂層”被捕獲。換句話說,執行Hibernate調用的代碼(在持久層)和處理 RuntimeException異常的代碼(通常只能清理和退出應用程序)應該在不同 的應用程序邏輯層。Hibernate的當前上下文管理可以極大地簡化這一設計,你所有的一切就是SessionFactory。 異常處理將在本章稍后進行討論。

請注意,你應該選擇 org.hibernate.transaction.JDBCTransactionFactory (這是默認選項),對第二個例子來說,hibernate.current_session_context_class應該是"thread"

2. 使用JTA

如果你的持久層運行在一個應用服務器中(例如,在EJB session beans的后面),Hibernate獲取 的每個數據源連接將自動成為全局JTA事務的一部分。 你可以安裝一個獨立的JTA實現,使用它而不使用EJB。Hibernate提供了兩種策略進行JTA集成。

如果你使用bean管理事務(BMT),可以通過使用Hibernate的 Transaction API來告訴 應用服務器啟動和結束BMT事務。因此,事務管理代碼和在非托管環境下是一樣的。

  1. // BMT idiom  
  2. Session sess = factory.openSession();  
  3. Transaction tx = null;  
  4. try {  
  5.     tx = sess.beginTransaction();  
  6.  
  7.     // do some work  
  8.     ...  
  9.  
  10.     tx.commit();  
  11. }  
  12. catch (RuntimeException e) {  
  13.     if (tx != null) tx.rollback();  
  14.     throw e; // or display error message  
  15. }  
  16. finally {  
  17.     sess.close();  
  18. }  

如果你希望使用與事務綁定的Session,也就是使用getCurrentSession()來簡化上下文管理,你將不得不直接使用JTA UserTransactionAPI。

  1. // BMT idiom with getCurrentSession()  
  2. try {  
  3.     UserTransaction tx = (UserTransaction)new InitialContext()  
  4.                             .lookup("java:comp/UserTransaction");  
  5.  
  6.     tx.begin();  
  7.  
  8.     // Do some work on Session bound to transaction  
  9.     factory.getCurrentSession().load(...);  
  10.     factory.getCurrentSession().persist(...);  
  11.  
  12.     tx.commit();  
  13. }  
  14. catch (RuntimeException e) {  
  15.     tx.rollback();  
  16.     throw e; // or display error message  
  17. }  

在CMT方式下,事務聲明是在session bean的部署描述符中,而不需要編程。 因此,代碼被簡化為:

  1. // CMT idiom  
  2. Session sess = factory.getCurrentSession();  
  3.  
  4. // do some work  
  5. ...  

在CMT/EJB中甚至會自動rollback,因為假若有未捕獲的RuntimeException從session bean方法中拋出,這就會通知容器把全局事務回滾。這就意味著,在BMT或者CMT中,你根本就不需要使用Hibernate Transaction API ,你自動得到了綁定到事務的“當前”Session。

注意,當你配置Hibernate的transaction factory的時候,在直接使用JTA的時候(BMT),你應該選擇org.hibernate.transaction.JTATransactionFactory,在CMT session bean中選擇org.hibernate.transaction.CMTTransactionFactory。記得也要設置hibernate.transaction.manager_lookup_class。還有,確認你的hibernate.current_session_context_class未設置(為了向下兼容),或者設置為"jta"。

getCurrentSession()在JTA環境中有一個弊端。對after_statement連接釋放方式有一個警告,這是被默認使用的。因為JTA規范的一個很愚蠢的限制,Hibernate不可能自動清理任何未關閉的ScrollableResults 或者Iterator,它們是由scroll()或iterate()產生的。你must通過在finally塊中,顯式調用ScrollableResults.close()或者Hibernate.close(Iterator)方法來釋放底層數據庫游標。(當然,大部分程序完全可以很容易的避免在JTA或CMT代碼中出現scroll()或iterate()。)

3. 異常處理

如果 Session 拋出異常 (包括任何SQLException), 你應該立即回滾數據庫事務,調用 Session.close() ,丟棄該 Session實例。Session的某些方法可能會導致session 處于不一致的狀態。所有由Hibernate拋出的異常都視為不可以恢復的。確保在 finally 代碼塊中調用close()方法,以關閉掉 Session。

HibernateException是一個非檢查期異常(這不同于Hibernate老的版本), 它封裝了Hibernate持久層可能出現的大多數錯誤。我們的觀點是,不應該強迫應用程序開發人員 在底層捕獲無法恢復的異常。在大多數軟件系統中,非檢查期異常和致命異常都是在相應方法調用 的堆棧的頂層被處理的(也就是說,在軟件上面的邏輯層),并且提供一個錯誤信息給應用軟件的用戶 (或者采取其他某些相應的操作)。請注意,Hibernate也有可能拋出其他并不屬于 HibernateException的非檢查期異常。這些異常同樣也是無法恢復的,應該 采取某些相應的操作去處理。

在和數據庫進行交互時,Hibernate把捕獲的SQLException封裝為Hibernate的 JDBCException。事實上,Hibernate嘗試把異常轉換為更有實際含義 的JDBCException異常的子類。底層的SQLException可以 通過JDBCException.getCause()來得到。Hibernate通過使用關聯到 SessionFactory上的SQLExceptionConverter來 把SQLException轉換為一個對應的JDBCException 異常的子類。默認情況下,SQLExceptionConverter可以通過配置dialect 選項指定;此外,也可以使用用戶自定義的實現類(參考javadocs SQLExceptionConverterFactory類來了解詳情)。標準的 JDBCException子類型是:

◆JDBCConnectionException - 指明底層的JDBC通訊出現錯誤

◆SQLGrammarException - 指明發送的SQL語句的語法或者格式錯誤

◆ConstraintViolationException - 指明某種類型的約束違例錯誤

◆LockAcquisitionException - 指明了在執行請求操作時,獲取 所需的鎖級別時出現的錯誤。

◆GenericJDBCException - 不屬于任何其他種類的原生異常

4. 事務超時

EJB這樣的托管環境有一項極為重要的特性,而它從未在非托管環境中提供過,那就是事務超時。在出現錯誤的事務行為的時候,超時可以確保不會無限掛起資源、對用戶沒有交代。在托管(JTA)環境之外,Hibernate無法完全提供這一功能。但是,Hiberante至少可以控制數據訪問,確保數據庫級別的死鎖,和返回巨大結果集的查詢被限定在一個規定的時間內。在托管環境中,Hibernate會把事務超時轉交給JTA。這一功能通過Hibernate Transaction對象進行抽象。

  1. Session sess = factory.openSession();  
  2. try {  
  3.     //set transaction timeout to 3 seconds  
  4.     sess.getTransaction().setTimeout(3);  
  5.     sess.getTransaction().begin();  
  6.  
  7.     // do some work  
  8.     ...  
  9.  
  10.     sess.getTransaction().commit()  
  11. }  
  12. catch (RuntimeException e) {  
  13.     sess.getTransaction().rollback();  
  14.     throw e; // or display error message  
  15. }  
  16. finally {  
  17.     sess.close();  
  18. }  

注意setTimeout()不應該在CMT bean中調用,此時事務超時值應該是被聲明式定義的。

【編輯推薦】

  1. 淺析Hibernate VO與PO區別
  2. Hibernate中merge()方法解析
  3. Hibernate中Criteria攻略詳解
  4. 簡述Hibernate部分查詢語言(一)
  5. 簡述Hibernate三種查詢的應用
責任編輯:仲衡 來源: diybl
相關推薦

2009-09-25 13:18:15

Hibernate數據

2009-07-02 09:35:02

hibernate訪問

2009-06-24 07:53:47

Hibernate數據

2010-10-08 09:38:55

Android數據庫事

2025-04-08 06:00:00

2009-06-02 14:36:28

HibernateMySQLEclipse

2009-09-28 13:33:48

Hibernate訪問

2009-06-24 07:58:52

Hibernate多數

2015-03-04 13:53:33

MySQL數據庫優化SQL優化

2024-05-28 00:00:30

Golang數據庫

2020-06-17 16:56:36

數據庫MySQL跨行事務

2017-08-22 17:10:45

數據庫MySQL事務模型

2009-09-28 13:29:41

加載過程Hibernate訪問

2024-11-14 11:07:15

2018-09-06 14:53:39

數據庫事務隔離隔離級別

2010-05-31 15:12:44

MySQL數據庫

2011-08-12 13:33:31

Oracle數據庫自治事務

2009-08-06 18:10:06

C#數據庫事務

2018-07-20 11:10:21

數據庫事務隔離性

2023-10-11 08:09:53

事務隔離級別
點贊
收藏

51CTO技術棧公眾號

亚洲一区中文在线| 国产老肥熟一区二区三区| 亚洲精品在线观看www| 成人亚洲视频在线观看| 99青草视频在线播放视| 国产一区视频导航| 91超碰caoporn97人人| 久久久久久国产免费a片| 国产人与zoxxxx另类91| 精品色蜜蜜精品视频在线观看| 91精品国产高清久久久久久91| 日本特黄a级片| 伊人福利在线| 久久久久久一级片| 国产 高清 精品 在线 a| 国产熟妇一区二区三区四区| 亚洲色图国产| 国产一区二区日韩精品欧美精品| 男女私大尺度视频| av网在线观看| 99久久er热在这里只有精品66| 久久99国产综合精品女同| 噜噜噜在线视频| 日韩国产在线不卡视频| 在线视频一区二区三| 99在线免费视频观看| 日本在线播放| 国产午夜精品久久久久久免费视 | 福利视频第一页| 成人搞黄视频| 91麻豆精品国产91久久久使用方法| 一区国产精品| 久久经典视频| 99精品视频一区| 高清国产在线一区| 国产男男gay体育生网站| 玖玖玖国产精品| 97精品视频在线播放| 国产人与禽zoz0性伦| 国产a久久精品一区二区三区| 日韩欧美黄色动漫| 国产不卡一区二区视频| 1区2区3区在线视频| 综合分类小说区另类春色亚洲小说欧美| 国产精品免费久久久久久| 成人免费看片98| 中文字幕一区二区精品区| 这里只有精品丝袜| 欧美福利第一页| 国模吧精品视频| 亚洲欧美成人网| 欧美 日本 国产| 欧美调教视频| 亚洲乱码一区av黑人高潮| 无码精品一区二区三区在线播放| 日韩制服诱惑| 91国偷自产一区二区三区观看| 一区二区三区四区在线视频| 爱久久·www| 国产精品视频一二三区| 亚洲欧洲精品一区二区三区波多野1战4| 中文字幕免费在线看| 中文日韩在线| 欧美一级在线播放| 精品国产乱子伦| 日韩国产欧美视频| 国产日韩在线一区| av高清一区二区| 岛国精品一区二区| 久久99导航| 精品视频一二区| 国产精品欧美久久久久一区二区| 精品国产福利| 暖暖视频在线免费观看| 国产日韩精品一区二区浪潮av| 亚洲最大av网站| 亚洲乱码精品久久久久.. | 66m—66摸成人免费视频| 精品视频久久久久| 性伦欧美刺激片在线观看| 国产999视频| 国产精品毛片一区二区在线看舒淇| 一本久久综合| 国产精品久久二区| 国产日韩免费视频| 成人免费毛片片v| 日本最新一区二区三区视频观看| 免费av一级片| 国产日韩精品一区二区三区在线| 九九九热999| 成年午夜在线| 亚洲综合精品自拍| 噼里啪啦国语在线观看免费版高清版| www.51av欧美视频| 色又黄又爽网站www久久| 不卡的av中文字幕| 国产在线播放精品| 中文字幕亚洲自拍| 亚洲国产综合久久| 毛片基地黄久久久久久天堂| 波多野结衣久草一区| 精品无人乱码| 亚洲在线视频网站| 怡红院亚洲色图| 欧美大片网址| 欧美成人免费网| 亚洲毛片一区二区三区| 风流少妇一区二区| 亚洲五月六月| 亚洲欧美小说色综合小说一区| 偷窥少妇高潮呻吟av久久免费| 人妻激情另类乱人伦人妻| 欧美成人精品一区二区男人小说| 欧美日韩一区二区在线播放| 天堂在线一区二区三区| 免费一区二区| 国内外成人免费激情在线视频| 久久精品视频国产| 麻豆成人久久精品二区三区红| 国产精品视频自在线| 天堂网在线资源| 亚洲卡通动漫在线| www.com黄色片| 先锋影音国产精品| 久久久久久久久中文字幕| 一级黄色免费看| 国产欧美一区二区精品性色 | 国产日本欧美在线观看| 日韩精品视频在线观看一区二区三区| 久久久夜色精品亚洲| 国产一级做a爰片久久毛片男| 国产后进白嫩翘臀在线观看视频| 亚洲一区在线观看网站| 91视频这里只有精品| 黑丝美女一区二区| 日韩av成人在线| 人人妻人人澡人人爽久久av| 一区二区三区毛片| 伊人免费视频二| 999视频精品| 国产精品夜间视频香蕉| 国产黄在线播放| 91久久精品网| 日韩丰满少妇无码内射| 嫩草成人www欧美| 蜜桃视频在线观看成人| 人人草在线视频| 精品视频一区在线视频| 天堂在线免费观看视频| 99精品黄色片免费大全| 精品国产一区三区| 日本中文字幕在线一区| 91精品国产色综合久久不卡98| 中文字幕在线2019| 久久精品人人做人人综合 | 久久午夜精品一区二区| 免费观看成人高| 在线观看欧美日韩电影| 亚洲视频日韩精品| 蜜臀99久久精品久久久久小说 | 色www精品视频在线观看| 国产精品探花一区二区在线观看| 日韩电影二区| 国产综合色香蕉精品| 黄色免费在线网站| 精品国产一区二区三区忘忧草| 99久久久无码国产精品衣服| 噜噜噜91成人网| 午夜精品一区二区三区四区| 亚洲综合伊人| 久久久久久久久久久国产| 天堂8在线视频| 欧美三级电影在线看| 一区二区国产精品精华液| 国产成a人无v码亚洲福利| 国产精品久久中文字幕| 欧洲美女日日| 999国产在线| 国产美女高潮在线观看| 亚洲人成在线播放| 91丨porny丨在线中文 | 欧美激情啪啪| 欧美第一黄色网| 亚洲欧美日韩成人在线| 欧美图片一区二区三区| 最新一区二区三区| 99精品视频中文字幕| 久热精品在线观看视频| 欧美日韩调教| 日韩精品最新在线观看| 四虎在线精品| 欧美孕妇毛茸茸xxxx| 欧美18一19xxx性| 亚洲国产私拍精品国模在线观看| 久久久久久久久97| 久久久久久免费| 人妻精油按摩bd高清中文字幕| 99久久婷婷| 国产伦精品一区二区三区照片| 中文字幕在线三区| 精品中文字幕久久久久久| 一卡二卡三卡在线观看| 黄色精品一区二区| 熟女av一区二区| 久久久噜噜噜久久中文字幕色伊伊| 国产青青在线视频| 婷婷六月综合| 日本一区免费在线观看| 高清日韩欧美| 成人妇女免费播放久久久| 欧美gay囗交囗交| 欧美激情在线一区| 成年人在线免费观看| 日韩av在线网站| 国产成人精品毛片| 欧美日韩一区二区三区视频 | 93在线视频精品免费观看| 国产区一区二区三区| 国产精品亚洲一区二区在线观看| 久久久国产一区| 国产最新视频在线| 亚洲国产成人在线视频| 精品人妻伦一区二区三区久久| 亚洲精品欧美激情| 亚洲午夜精品久久久久久高潮| 久久av中文字幕片| 久久婷婷五月综合色国产香蕉| 精品99久久| 久久另类ts人妖一区二区| 一区二区三区在线免费看| 国产欧美精品一区二区| gogo亚洲高清大胆美女人体| 2021国产精品视频| 1234区中文字幕在线观看| 欧美精品情趣视频| 国产日产一区二区| 久久精品夜夜夜夜夜久久| 日本在线免费| 日韩视频在线一区| 日本欧美在线视频免费观看| 在线成人激情视频| 成人网视频在线观看| 亚洲天堂网站在线观看视频| 九九在线视频| 正在播放欧美一区| 五月婷婷在线观看| 色偷偷av一区二区三区乱| 成人精品一区二区三区免费| 亚洲无限av看| 国产精品久久久久久久龚玥菲 | wwwxx日本| 从欧美一区二区三区| 性欧美18—19sex性高清| 成人妖精视频yjsp地址| 中文字幕精品视频在线| 91在线视频官网| 国产激情在线免费观看| 国产色91在线| 国产又粗又猛又爽又黄的视频小说| 粉嫩av一区二区三区| 欧美激情一区二区三区p站| 粉嫩一区二区三区性色av| 国产精品手机在线观看| www激情久久| 一级片久久久久| 亚洲欧洲精品一区二区三区不卡 | 精品美女www爽爽爽视频| 精品国产伦一区二区三区观看方式 | 欧美一级在线免费观看| 亚洲黄色av女优在线观看| 久久久久久久影视| xvideos亚洲人网站| 日本欧美电影在线观看| 2025国产精品视频| 成人在线黄色| 波多野结衣久草一区| 尤物tv在线精品| 国产系列第一页| 一区福利视频| 北条麻妃视频在线| 韩国毛片一区二区三区| 国产欧美视频一区| 国产亚洲欧美激情| 午夜精品一区二区三区视频| 亚洲成人综合网站| 中文字幕 日韩有码| 精品国一区二区三区| 高清性色生活片在线观看| 欧美成年人视频| 国产高清不卡| 2020国产精品久久精品不卡| 日韩中文av| 在线观看成人一级片| 国产日韩免费| 天天av天天操| 久久一二三国产| 欧美成人精品一区二区免费看片| 亚洲色图欧美激情| 精品免费囯产一区二区三区 | 久久久一区二区三区捆绑**| 我要看黄色一级片| 丁香五六月婷婷久久激情| 97视频免费在线| 亚洲欧美制服另类日韩| 50度灰在线| 国产欧美一区二区三区久久| 老司机精品视频在线播放| 亚洲一区bb| 久久午夜精品一区二区| 无码人妻一区二区三区精品视频| zzijzzij亚洲日本少妇熟睡| 可以免费看av的网址| 欧美视频不卡中文| 免费观看的毛片| 欧美成人午夜激情视频| 日韩精品影片| 美日韩免费视频| 亚洲精选成人| 国产精品无码自拍| 亚洲女同女同女同女同女同69| 精品视频一区二区在线观看| 欧美色精品在线视频| 久久99久久| 4438全国成人免费| 国产福利一区二区精品秒拍| 男女爱爱视频网站| 九九久久精品视频| 91ts人妖另类精品系列| 欧美在线短视频| 九色在线播放| 日本精品视频在线观看| 日韩欧美四区| 免费无遮挡无码永久视频| 成人v精品蜜桃久久一区| 麻豆视频在线观看| 日韩女同互慰一区二区| 1024在线播放| 成人欧美一区二区| 欧美在线黄色| 国产精品偷伦视频免费观看了| 91论坛在线播放| 永久免费看片在线播放| 亚洲国产精品va在线| а√天堂8资源中文在线| 国产成人精品福利一区二区三区 | 国产亚洲视频在线| 蜜桃视频www网站在线观看| 久久国产精品 国产精品| 国产精品嫩草99av在线| 女尊高h男高潮呻吟| 欧美性生交xxxxxdddd| 九色蝌蚪在线| 国产免费一区二区三区香蕉精| 你懂的在线观看一区二区| 日韩精品综合在线| 91在线观看一区二区| 国产精品suv一区| 国产一区二区三区丝袜| 久久精品97| 成年丰满熟妇午夜免费视频| 粉嫩av一区二区三区| 黑人精品无码一区二区三区AV| 日韩欧美久久久| 韩国成人免费视频| 免费影院在线观看一区| 免费人成网站在线观看欧美高清| 99热超碰在线| 欧美日韩中文字幕综合视频| 狠狠色伊人亚洲综合网站l| 国产精品国产自产拍高清av水多 | 激情av综合网| 久久精品波多野结衣| 日韩大陆毛片av| 黄色精品视频| 福利在线一区二区| 国产三级精品在线| 国产av一区二区三区精品| 97色在线观看免费视频| 日韩电影二区| www.88av| 欧美精品丝袜久久久中文字幕| 国产在线日本| 91综合免费在线| 国产欧美日韩亚洲一区二区三区| 特黄特色免费视频| 五月天国产精品| 日韩免费啪啪| 国产一区二区三区四区hd| 蜜桃精品在线观看| 久久久久久久久久久久久久久久久| 日韩一区二区三区四区五区六区| 91免费在线| 国产一区二区黄色| 久久国产乱子精品免费女| 日韩三级视频在线| 日韩中文字幕网站| 欧美中文一区| 性久久久久久久久久久久久久| 亚洲精品成人a在线观看| 邻居大乳一区二区三区|