日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用Hibernate批量获取

發(fā)布時(shí)間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Hibernate批量获取 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

如果需要從Java處理大型數(shù)據(jù)庫(kù)結(jié)果集,則可以選擇JDBC,以提供所需的低級(jí)控制。 另一方面,如果您已在應(yīng)用程序中使用ORM,則回退到JDBC可能意味著額外的麻煩。 在域模型中導(dǎo)航時(shí),您將失去樂(lè)觀鎖定,緩存,自動(dòng)獲取等功能。 幸運(yùn)的是,大多數(shù)ORM,例如Hibernate,都有一些選項(xiàng)可以幫助您。 盡管這些技術(shù)不是新技術(shù),但有兩種可能可供選擇。

一個(gè)簡(jiǎn)化的例子; 假設(shè)我們有一個(gè)表(映射到類(lèi)'DemoEntity'),具有100.000條記錄。 每個(gè)記錄都由一個(gè)列(映射到DemoEntity中的屬性“ property”)組成,其中包含一些大約2KB的隨機(jī)字母數(shù)字?jǐn)?shù)據(jù)。
JVM與-Xmx250m一起運(yùn)行。 假設(shè)250MB是可以分配給系統(tǒng)上JVM的總最大內(nèi)存。 您的工作是讀取表中當(dāng)前的所有記錄,進(jìn)行一些未進(jìn)一步指定的處理,最后存儲(chǔ)結(jié)果。 我們假設(shè)批量操作產(chǎn)生的實(shí)體沒(méi)有被修改。 首先,我們將首先嘗試顯而易見(jiàn)的方法,即執(zhí)行查詢以簡(jiǎn)單地檢索所有數(shù)據(jù):

new TransactionTemplate(txManager).execute(new TransactionCallback<Void>() {@Overridepublic Void doInTransaction(TransactionStatus status) {Session session = sessionFactory.getCurrentSession();List<DemoEntity> demoEntitities = (List<DemoEntity>) session.createQuery('from DemoEntity').list();for(DemoEntity demoEntity : demoEntitities){//Process and write result}return null;} });

幾秒鐘后:

Exception in thread 'main' java.lang.OutOfMemoryError: GC overhead limit exceeded

顯然,這不會(huì)削減。 為了解決這個(gè)問(wèn)題,我們將切換到Hibernate可滾動(dòng)結(jié)果集,這可能是大多數(shù)開(kāi)發(fā)人員都知道的。 上面的示例指示hibernate執(zhí)行查詢,將整個(gè)結(jié)果映射到實(shí)體并返回它們。 使用滾動(dòng)結(jié)果集時(shí),記錄一次轉(zhuǎn)換為一個(gè)實(shí)體:

new TransactionTemplate(txManager).execute(new TransactionCallback<Void>() {@Overridepublic Void doInTransaction(TransactionStatus status) {Session session = sessionFactory.getCurrentSession();ScrollableResults scrollableResults = session.createQuery('from DemoEntity').scroll(ScrollMode.FORWARD_ONLY);int count = 0;while (scrollableResults.next()) {if (++count > 0 && count % 100 == 0) {System.out.println('Fetched ' + count + ' entities');}DemoEntity demoEntity = (DemoEntity) scrollableResults.get()[0];//Process and write result}return null;} });

運(yùn)行之后,我們得到:

... Fetched 49800 entities Fetched 49900 entities Fetched 50000 entities Exception in thread 'main' java.lang.OutOfMemoryError: GC overhead limit exceeded

盡管我們使用的是可滾動(dòng)的結(jié)果集,但每個(gè)返回的對(duì)象都是一個(gè)附加對(duì)象,并成為持久性上下文(也稱為會(huì)話)的一部分。 結(jié)果實(shí)際上與我們使用“ session.createQuery('from DemoEntity')。list() '的第一個(gè)示例相同。 但是,采用這種方法,我們無(wú)法控制。 一切都在幕后發(fā)生,如果休眠完成了工作,您將獲得包含所有數(shù)據(jù)的列表。 另一方面,使用可滾動(dòng)的結(jié)果集使我們迷上了檢索過(guò)程,并允許我們?cè)谛枰獣r(shí)釋放內(nèi)存。 如我們所見(jiàn),它不會(huì)自動(dòng)釋放內(nèi)存,您必須指示Hibernate實(shí)際執(zhí)行此操作。 存在以下選項(xiàng):

  • 處理對(duì)象后將其從持久性上下文中逐出
  • 偶爾清除整個(gè)會(huì)話

我們將選擇第一個(gè)。 在上面的示例的第13行( // Process和write result )下,我們將添加:

session.evict(demoEntity);

重要:

  • 如果您要對(duì)實(shí)體(或與它有關(guān)聯(lián)的實(shí)體進(jìn)行級(jí)聯(lián)逐出的實(shí)體)進(jìn)行任何修改,請(qǐng)確保在逐出或清除之前刷新會(huì)話,否則由于Hibernate的回寫(xiě)而導(dǎo)致的查詢將不會(huì)發(fā)送到數(shù)據(jù)庫(kù)
  • 逐出或清除不會(huì)將實(shí)體從二級(jí)緩存中刪除。 如果啟用了二級(jí)緩存并正在使用它,并且還希望將其刪除,請(qǐng)使用所需的sessionFactory.getCache()。evictXxx()方法
  • 從您退出實(shí)體的那一刻起,該實(shí)體將不再附加(不再與會(huì)話關(guān)聯(lián))。 在該階段對(duì)實(shí)體所做的任何修改將不再自動(dòng)反映到數(shù)據(jù)庫(kù)中。 如果您使用的是延遲加載,則訪問(wèn)驅(qū)逐之前未加載的任何屬性都會(huì)產(chǎn)生著名的org.hibernate.LazyInitializationException。 因此,基本上,在逐出或清除之前,請(qǐng)確保已完成對(duì)該實(shí)體的處理(或至少已初始化以進(jìn)一步滿足需要)

再次運(yùn)行該應(yīng)用程序后,我們看到它現(xiàn)在已成功執(zhí)行:

... Fetched 99800 entities Fetched 99900 entities Fetched 100000 entities

順便說(shuō)一句; 您還可以將查詢?cè)O(shè)置為只讀,以允許休眠狀態(tài)執(zhí)行一些其他優(yōu)化:

ScrollableResults scrollableResults = session.createQuery('from DemoEntity').setReadOnly(true).scroll(ScrollMode.FORWARD_ONLY);

這樣做只會(huì)在內(nèi)存使用方面產(chǎn)生很小的差異,在此特定的測(cè)試設(shè)置中,它使我們能夠在給定的內(nèi)存量下額外讀取約300個(gè)實(shí)體。 就我個(gè)人而言,我不會(huì)僅將此功能僅用于內(nèi)存優(yōu)化,而僅當(dāng)它適合您的整體不變性策略時(shí)才使用。 使用休眠模式,您可以使用不同的選項(xiàng)將實(shí)體設(shè)置為只讀:在實(shí)體本身上,整個(gè)會(huì)話為只讀,依此類(lèi)推。 分別對(duì)查詢?cè)O(shè)置只讀為false可能是最不推薦的方法。 (例如,之前在會(huì)話中加載的實(shí)體將保持不受影響,可能可修改。即使查詢返回的根對(duì)象是只讀的,惰性關(guān)聯(lián)也將可修改地加載)。

好的,我們能夠處理我們的100.000條記錄,生活很美好。 但是事實(shí)證明,Hibernate對(duì)于批量操作還有另一個(gè)選擇:無(wú)狀態(tài)會(huì)話。 您可以從無(wú)狀態(tài)會(huì)話中獲取可滾動(dòng)結(jié)果集,方法與從普通會(huì)話中獲取方法相同。 無(wú)狀態(tài)會(huì)話直接位于JDBC之上。 Hibernate將在幾乎“所有功能禁用”模式下運(yùn)行。 這意味著沒(méi)有持久上下文,沒(méi)有第二級(jí)緩存,沒(méi)有臟檢測(cè),沒(méi)有延遲加載,基本上什么也沒(méi)有。 從javadoc:

/*** A command-oriented API for performing bulk operations against a database.* A stateless session does not implement a first-level cache nor interact with any * second-level cache, nor does it implement transactional write-behind or automatic * dirty checking, nor do operations cascade to associated instances. Collections are * ignored by a stateless session. Operations performed via a stateless session bypass * Hibernate's event model and interceptors. Stateless sessions are vulnerable to data * aliasing effects, due to the lack of a first-level cache. For certain kinds of * transactions, a stateless session may perform slightly faster than a stateful session.** @author Gavin King*/

它唯一要做的就是將記錄轉(zhuǎn)換為對(duì)象。 這可能是一個(gè)有吸引力的選擇,因?yàn)樗梢詭椭鷶[脫手動(dòng)驅(qū)逐/沖洗的麻煩:

new TransactionTemplate(txManager).execute(new TransactionCallback<Void>() {@Overridepublic Void doInTransaction(TransactionStatus status) {sessionFactory.getCurrentSession().doWork(new Work() {@Overridepublic void execute(Connection connection) throws SQLException {StatelessSession statelessSession = sessionFactory.openStatelessSession(connection);try {ScrollableResults scrollableResults = statelessSession.createQuery('from DemoEntity').scroll(ScrollMode.FORWARD_ONLY);int count = 0;while (scrollableResults.next()) {if (++count > 0 && count % 100 == 0) {System.out.println('Fetched ' + count + ' entities');}DemoEntity demoEntity = (DemoEntity) scrollableResults.get()[0];//Process and write result }} finally {statelessSession.close();}}});return null;} });

除了無(wú)狀態(tài)會(huì)話具有最佳的內(nèi)存使用情況外,使用它還會(huì)帶來(lái)一些副作用。 您可能已經(jīng)注意到,我們正在打開(kāi)一個(gè)無(wú)狀態(tài)會(huì)話并顯式關(guān)閉它:既沒(méi)有sessionFactory.getCurrentStatelessSession()也沒(méi)有(在撰寫(xiě)本文時(shí))任何用于管理無(wú)狀態(tài)會(huì)話的Spring集成。打開(kāi)無(wú)狀態(tài)會(huì)話會(huì)分配一個(gè)新的Java。默認(rèn)情況下sql.Connection(如果使用openStatelessSession() )執(zhí)行其工作,因此間接產(chǎn)生第二個(gè)事務(wù)。 您可以通過(guò)使用Hibernate work API來(lái)減輕這些副作用,如提供當(dāng)前Connection并將其傳遞給openStatelessSession(Connection connection)的示例中所示。 最后關(guān)閉會(huì)話對(duì)物理連接沒(méi)有影響,因?yàn)樗怯蒘pring基礎(chǔ)結(jié)構(gòu)捕獲的:打開(kāi)無(wú)狀態(tài)會(huì)話時(shí),僅關(guān)閉邏輯連接句柄,并創(chuàng)建新的邏輯連接句柄。

還要注意,您必須自己關(guān)閉無(wú)狀態(tài)會(huì)話,并且上面的示例僅適用于只讀操作。 從您打算使用無(wú)狀態(tài)會(huì)話進(jìn)行修改的那一刻起,還有一些警告。 如前所述,休眠模式在“所有功能都已禁用”模式下運(yùn)行,因此直接導(dǎo)致實(shí)體以分離狀態(tài)返回。 對(duì)于您修改的每個(gè)實(shí)體,您都必須顯式調(diào)用: statelessSession.update(entity) 。 首先,我嘗試使用此方法來(lái)修改實(shí)體:

new TransactionTemplate(txManager).execute(new TransactionCallback<Void>() {@Overridepublic Void doInTransaction(TransactionStatus status) {sessionFactory.getCurrentSession().doWork(new Work() {@Overridepublic void execute(Connection connection) throws SQLException {StatelessSession statelessSession = sessionFactory.openStatelessSession(connection);try {DemoEntity demoEntity = (DemoEntity) statelessSession.createQuery('from DemoEntity where id = 1').uniqueResult();demoEntity.setProperty('test');statelessSession.update(demoEntity);} finally {statelessSession.close();}}});return null;} });

這個(gè)想法是我們用現(xiàn)有的數(shù)據(jù)庫(kù)Connection打開(kāi)一個(gè)無(wú)狀態(tài)會(huì)話。 正如StatelessSession javadoc指示不會(huì)發(fā)生任何回寫(xiě)一樣,我確信無(wú)狀態(tài)會(huì)話執(zhí)行的每個(gè)語(yǔ)句都將直接發(fā)送到數(shù)據(jù)庫(kù)。 最終,當(dāng)提交事務(wù)(由TransactionTemplate開(kāi)始)時(shí),結(jié)果將在數(shù)據(jù)庫(kù)中可見(jiàn)。 但是,hibernate使用無(wú)狀態(tài)會(huì)話來(lái)執(zhí)行BATCH語(yǔ)句。 我不是100%知道批處理和回寫(xiě)之間有什么區(qū)別,但是結(jié)果是相同的,因此與javadoc的字典相反,因?yàn)檎Z(yǔ)句在以后排入隊(duì)列并刷新。 因此,如果您沒(méi)有做任何特別的事情,批處理的語(yǔ)句將不會(huì)被刷新,這就是我的情況:'statelessSession.update(demoEntity);' 被分批處理,從不沖洗。 強(qiáng)制刷新的一種方法是使用休眠事務(wù)API:

StatelessSession statelessSession = sessionFactory.openStatelessSession(); statelessSession.beginTransaction(); ... statelessSession.getTransaction().commit(); ...

在這種情況下,您可能不希望僅因?yàn)槭褂脽o(wú)狀態(tài)會(huì)話而開(kāi)始以編程方式控制交易。 此外,由于沒(méi)有傳遞我們的Connection,因此我們?cè)俅卧诘诙€(gè)事務(wù)場(chǎng)景中運(yùn)行無(wú)狀態(tài)會(huì)話工作,因此將獲得新的數(shù)據(jù)庫(kù)連接。 我們無(wú)法通過(guò)外部連接的原因是,如果我們提交內(nèi)部事務(wù)(“無(wú)狀態(tài)會(huì)話事務(wù)”),并且它將使用與外部事務(wù)相同的連接(由TransactionTemplate開(kāi)始),則會(huì)破壞外部事務(wù)事務(wù)的原子性,因?yàn)閷⑼獠渴聞?wù)發(fā)送到數(shù)據(jù)庫(kù)的語(yǔ)句與內(nèi)部事務(wù)一起提交。 因此,不通過(guò)連接意味著打開(kāi)一個(gè)新的連接,從而創(chuàng)建第二筆交易。 更好的選擇是觸發(fā)Hibernate刷新無(wú)狀態(tài)會(huì)話。 但是,statelessSession沒(méi)有“ flush”方法來(lái)手動(dòng)觸發(fā)刷新。 解決方案是稍微依賴Hibernate內(nèi)部API。 該解決方案使手動(dòng)事務(wù)處理和第二個(gè)事務(wù)處理變得過(guò)時(shí):所有語(yǔ)句成為我們(唯一的)外部事務(wù)的一部分:

StatelessSession statelessSession = sessionFactory.openStatelessSession(connection);try {DemoEntity demoEntity = (DemoEntity) statelessSession.createQuery('from DemoEntity where id = 1').uniqueResult();demoEntity.setProperty('test');statelessSession.update(demoEntity);((TransactionContext) statelessSession).managedFlush();} finally {statelessSession.close(); }

幸運(yùn)的是,最近在Spring jira上發(fā)布了一個(gè)更好的解決方案: https : //jira.springsource.org/browse/SPR-2495這還不是Spring的一部分,但是工廠bean的實(shí)現(xiàn)非常簡(jiǎn)單: StatelessSessionFactoryBean。使用此Java時(shí),您可以簡(jiǎn)單地注入StatelessSession:

@Autowired private StatelessSession statelessSession;

它將注入一個(gè)無(wú)狀態(tài)的會(huì)話代理,這等效于正常的“當(dāng)前”會(huì)話的工作方式(稍有不同的是,您注入一個(gè)SessionFactory并且每次都需要獲取currentSession)。 調(diào)用代理時(shí),它將查找綁定到正在運(yùn)行的事務(wù)的無(wú)狀態(tài)會(huì)話。 如果已經(jīng)不存在,它將創(chuàng)建一個(gè)與普通會(huì)話相同的連接(就像我們?cè)谑纠兴龅哪菢?#xff09;,并為無(wú)狀態(tài)會(huì)話注冊(cè)自定義事務(wù)同步。 提交事務(wù)后,由于同步,將刷新無(wú)狀態(tài)會(huì)話,并最終將其關(guān)閉。 使用此方法,您可以直接注入無(wú)狀態(tài)會(huì)話,并將其用作當(dāng)前會(huì)話(或與注入JPA PeristentContext相同的方式)。 這使您不必處理無(wú)狀態(tài)會(huì)話的打開(kāi)和關(guān)閉,而不必處理一種或多種方法以使其變得暢通無(wú)阻。 該實(shí)現(xiàn)是針對(duì)JPA的,但是JPA部分僅限于在getPhysicalConnection()中獲得物理連接。 您可以輕松地省略EntityManagerFactory并直接從Hibernate會(huì)話獲取物理連接。

非常謹(jǐn)慎的結(jié)論:最好的方法顯然取決于您的情況。 如果您使用普通會(huì)話,則在讀取或保留實(shí)體時(shí)必須自行解決。 如果您有一個(gè)混合事務(wù),那么除了必須手動(dòng)執(zhí)行操作之外,還可能影響會(huì)話的進(jìn)一步使用。 你們都在同一筆交易中執(zhí)行“批量”和“正常”操作。 如果繼續(xù)進(jìn)行正常操作,您將在會(huì)話中分離實(shí)體,這可能會(huì)導(dǎo)致意外結(jié)果(因?yàn)榕K檢測(cè)將不再起作用,依此類(lèi)推)。 另一方面,您仍將具有主要的休眠好處(只要不驅(qū)逐該實(shí)體),例如延遲加載,緩存,臟檢測(cè)等。 在編寫(xiě)本文時(shí)使用無(wú)狀態(tài)會(huì)話需要額外注意管理它(打開(kāi),關(guān)閉和刷新),這也容易出錯(cuò)。 假設(shè)您可以繼續(xù)使用建議的工廠bean,那么您將擁有一個(gè)非常裸露的會(huì)話,該會(huì)話與正常會(huì)話是分開(kāi)的,但仍參與同一事務(wù)。 使用此工具,您無(wú)需執(zhí)行內(nèi)存管理即可擁有執(zhí)行批量操作的強(qiáng)大工具。 缺點(diǎn)是您沒(méi)有其他可用的休眠功能。

參考:在Koen Serneels – Technology博客博客上,從我們的JCG合作伙伴 Koen Serneels 與Hibernate進(jìn)行批量獲取 。

翻譯自: https://www.javacodegeeks.com/2013/03/bulk-fetching-with-hibernate.html

總結(jié)

以上是生活随笔為你收集整理的使用Hibernate批量获取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

中文字幕有码在线观看 | 久久99热国产 | 中文字幕国产精品一区二区 | 中文字幕av在线不卡 | 国产一级a毛片视频爆浆 | 久久久精品成人 | 国产精品福利在线观看 | 国产又粗又猛又黄又爽的视频 | 久草网站在线 | 91视频啪| 亚洲一区日韩在线 | 国产美女视频免费 | 免费看三级 | 91高清免费观看 | 西西www4444大胆在线 | 91视频麻豆视频 | 国产一区福利 | 波多野结衣在线视频一区 | 久久婷亚洲五月一区天天躁 | 99国产精品一区二区 | 中文字幕丰满人伦在线 | 天天操天天玩 | 激情影音先锋 | 色五月成人 | 99久e精品热线免费 99国产精品久久久久久久久久 | 日韩偷拍精品 | 99久久久国产精品免费观看 | 中文免费在线观看 | 99久久精品网 | 久久丝袜视频 | 日韩深夜在线观看 | 精品国产一区二区三区久久久久久 | 啪啪肉肉污av国网站 | 天天想夜夜操 | www.久久婷婷 | 免费高清在线视频一区· | 欧美少妇18p | 日韩色爱| 亚洲激情免费 | 欧美久草视频 | 一区二区不卡在线观看 | 午夜精品一二区 | 久久久高清免费视频 | 欧美成人a在线 | 99精品久久精品一区二区 | 99精品视频免费 | 久久电影中文字幕视频 | 精品在线视频一区 | 国产精品一区二区精品视频免费看 | 中文字幕高清免费日韩视频在线 | 久久兔费看a级 | 国产乱码精品一区二区蜜臀 | av在线中文 | 日韩美一区二区三区 | 91秒拍国产福利一区 | 成人精品一区二区三区中文字幕 | 精品久久久久久一区二区里番 | 亚洲高清av在线 | av福利资源 | 97人人精品 | 狠狠色丁香久久婷婷综合_中 | 天天爱天天 | 久久手机免费视频 | 全黄色一级片 | 国产亚洲资源 | 麻豆免费精品视频 | 国产精品久久久久影院 | 在线观看视频你懂得 | 国产精品亚洲精品 | 免费观看www7722午夜电影 | 色噜噜狠狠色综合中国 | 丁香视频五月 | 69精品人人人人 | 美女精品在线观看 | 青青五月天 | 日韩网 | 国产人在线成免费视频 | www.色com | 99精品视频免费在线观看 | 日韩欧美一区二区三区在线 | 午夜国产成人 | 色婷婷国产在线 | 国产九九九精品视频 | 精品嫩模福利一区二区蜜臀 | 综合久久久久久久 | 欧美久久久久久久久久 | 国产美女被啪进深处喷白浆视频 | 国产在线视频一区二区三区 | 精品亚洲午夜久久久久91 | 天天搞天天干 | 五月天激情婷婷 | 成 人 黄 色 免费播放 | 亚洲高清精品在线 | 97在线观看免费 | 中文在线8资源库 | 欧美一级片在线 | 91成人免费看片 | 欧美日韩在线免费观看 | 亚洲精品午夜一区人人爽 | 九九热精 | 99精品视频免费看 | 中文字幕永久免费 | 久久久久免费精品 | 91成年人在线观看 | 国产一区二区不卡视频 | 一区二区三区免费在线 | 亚洲综合色视频在线观看 | 精品人妖videos欧美人妖 | 999毛片| 99精品国产免费久久久久久下载 | 免费涩涩网站 | 亚洲精品综合在线观看 | 色www精品视频在线观看 | 99久久婷婷| 丁香婷婷综合激情 | 草久中文字幕 | 国产精品爽爽爽 | 色偷偷人人澡久久超碰69 | 精品久久久久久综合 | 成人亚洲网 | 欧美日韩精 | 国产在线久草 | 日日夜精品 | 国产高清免费视频 | 精品福利在线视频 | 国产精品99页 | 久久欧美在线电影 | 亚洲国产成人在线 | 国产精品免费看久久久8精臀av | 国产香蕉在线 | 人人草在线观看 | 四虎影视成人精品 | 国产免费影院 | 免费日韩一区二区三区 | 国产色视频一区二区三区qq号 | 激情电影在线观看 | 黄色成人av网址 | 婷婷久久一区 | 91九色蝌蚪视频 | 久久精彩免费视频 | 亚洲精品久久久久中文字幕二区 | 丁香六月久久综合狠狠色 | 狠狠色伊人亚洲综合网站野外 | 国产视频日本 | 色婷婷五| 日韩一区二区免费视频 | 国产一区私人高清影院 | 天天干天天操av | 亚洲精品动漫在线 | 久久久亚洲网站 | 九九精品久久 | 国产亚洲字幕 | 在线观看中文字幕亚洲 | 人人插人人草 | 天天操,夜夜操 | 黄视频色网站 | 最近免费中文视频 | 日韩一区二区三区免费视频 | 色综合久久久久久中文网 | 国产精品视频线看 | 97视频资源 | 91在线国产观看 | 国产午夜精品免费一区二区三区视频 | 二区三区中文字幕 | 成全在线视频免费观看 | 欧美 日韩精品 | 久久久久一区二区三区四区 | 91精品对白一区国产伦 | 91在线公开视频 | 成人app在线播放 | 国产精品一码二码三码在线 | free,性欧美 九九交易行官网 | 久久人人干| 丁香六月网 | 91色吧| 成年人在线播放视频 | 天天摸夜夜添 | 久久理论视频 | 免费av小说 | 超级av在线 | 久久精品日本啪啪涩涩 | 久久草在线视频国产 | 最新国产精品亚洲 | 91成人天堂久久成人 | 久久国产电影 | 日韩亚洲在线视频 | 亚洲精品99久久久久久 | 亚洲精品在线免费播放 | 在线观看中文字幕av | 免费看精品久久片 | 中文字幕在线成人 | 国产91电影在线观看 | 91视频网址入口 | 成人91av| 天天干天天操天天干 | 亚洲日本韩国一区二区 | 丁香综合五月 | 日韩理论电影在线 | 91丨九色丨蝌蚪丰满 | 日韩动态视频 | 亚洲精品9 | 亚洲男人天堂2018 | 在线www色| 96精品在线 | 日韩网站一区二区 | 欧美在线视频一区二区三区 | 午夜在线观看一区 | 99久久一区 | 亚洲伦理电影在线 | 亚洲精品在线观看的 | 一区二区视频在线观看免费 | 欧美日韩精品二区第二页 | 色综合久久久久久中文网 | 国产在线观看中文字幕 | 国产xvideos免费视频播放 | 日日操天天操夜夜操 | 久久系列 | 久久人人97超碰精品888 | 中文字幕av在线电影 | 亚洲一一在线 | 99久久精品免费看国产麻豆 | 丁香花中文在线免费观看 | 中文字幕在线高清 | 99精品视频在线观看视频 | 福利av在线| 永久黄网站色视频免费观看w | 国产剧情久久 | 日韩成人不卡 | 国产日韩视频在线 | 国产精品久久久久久久久久久免费 | 成人a级黄色片 | 免费观看一级成人毛片 | 免费在线观看av不卡 | 国产精品一区二区三区99 | 香蕉在线播放 | 这里只有精品视频在线观看 | 五月精品 | av爱干 | 超碰97中文 | 国产 一区二区三区 在线 | 九草视频在线 | 日韩高清免费电影 | 国内精品在线观看视频 | 岛国大片免费视频 | 黄色a视频免费 | 久久视频热 | 久久午夜视频 | 国产精品美女www爽爽爽视频 | 亚洲va欧美| 最近日本韩国中文字幕 | 国产成人av在线 | 欧美在线视频一区二区三区 | 国产精品不卡一区 | 婷婷在线免费观看 | 久久在视频 | 日韩一区精品 | 亚洲桃花综合 | 五月婷婷伊人网 | 国产不卡在线播放 | 91国内在线 | 久久久久成人精品免费播放动漫 | 激情五月视频 | www.久久婷婷 | 欧美福利网站 | 午夜精品av在线 | 亚洲欧美国产精品 | 91视频 - v11av| 日日射av| 成年人av在线播放 | 欧美一级免费在线 | 视频一区二区在线 | 亚洲精品资源在线 | 精品久久国产精品 | 一区二区三区免费网站 | 欧美性高跟鞋xxxxhd | 久久久久久网 | 欧美色图另类 | 欧美一级高清片 | 国产最新在线观看 | 9色在线视频 | 亚洲1区 在线| 亚洲成年片 | 九九九电影免费看 | www.天天操| www.狠狠干 | 丁香国产视频 | 五月激情五月激情 | 97超在线| 亚洲精品国产欧美在线观看 | 在线观看第一页 | 天堂麻豆 | 亚洲精品乱码白浆高清久久久久久 | 操操碰| 又黄又爽的视频在线观看网站 | 在线精品一区二区 | 亚洲精品va| 国产白浆在线观看 | 97精品超碰一区二区三区 | 久草影视在线 | 波多野结衣小视频 | 欧美a级免费视频 | 一级性视频 | 黄色网址中文字幕 | 日韩av在线免费播放 | 久久久久久久久影院 | 国内精品久久久久影院男同志 | 中文字幕日韩国产 | 人人超在线公开视频 | 欧美国产日韩一区二区三区 | 在线看黄网站 | 91亚洲网站 | 国产精品岛国久久久久久久久红粉 | 国产精品国产三级国产不产一地 | 久久精品国产成人精品 | 精品久久在线 | 在线观看亚洲精品视频 | 精品av网站 | 亚洲国产精品电影在线观看 | 日韩精品一区二区久久 | 国内成人精品视频 | 97成人啪啪网 | 日av免费 | 国产中文字幕一区二区三区 | 日韩综合在线观看 | 国产精品露脸在线 | 一级成人在线 | 午夜av不卡 | 激情婷婷| 亚洲精品国偷自产在线91正片 | 国产成人精品一区二区三区网站观看 | 国产精品高清免费在线观看 | 久久8| 日本中文字幕观看 | 婷婷色在线播放 | 欧美日韩亚洲精品在线 | 亚洲成人精品 | 九九久久国产 | 人人插人人看 | 天天透天天插 | 久久国色夜色精品国产 | 免费黄色在线 | 麻豆国产视频下载 | 国产人在线成免费视频 | 日日夜夜亚洲 | 免费看特级毛片 | 96看片| 亚洲精品视频播放 | 免费看的黄网站 | 在线国产激情视频 | 久久艹在线观看 | 91黄色免费网站 | 96视频在线 | 国产成人一区二区三区在线观看 | 国产一级淫片免费看 | 特级毛片网 | 久久一区二区免费视频 | 男女全黄一级一级高潮免费看 | 成人国产亚洲 | 亚洲在线色 | 久久精品人人做人人综合老师 | 玖玖综合网 | 狠狠操电影网 | 久久精品三 | 国产精品伦一区二区三区视频 | 国产精品乱看 | av网站在线观看免费 | 98超碰在线观看 | 亚洲精品在线观看网站 | 91在线视频播放 | 亚洲精品国| 一区二区视频免费在线观看 | 一区二区三区动漫 | 欧美人交a欧美精品 | 国产精品12345 | 伊人五月天婷婷 | 在线欧美日韩 | 免费成人av | 婷婷丁香狠狠爱 | 久久精品播放 | 免费在线观看av不卡 | 国内久久| 国产淫片 | 欧美最猛性xxx | 成人免费在线观看入口 | 最近2019年日本中文免费字幕 | 国产在线观看午夜 | 操操操影院 | 9999在线观看 | 久久国产免费 | 91九色成人 | 国产高清精品在线观看 | 久久综合久久久久88 | 一级理论片在线观看 | 国产一级不卡毛片 | 香蕉视频啪啪 | 成人看片 | 手机在线欧美 | 黄色大片av | 久久国内免费视频 | 日韩三级久久 | 久久国产精品久久久久 | 国产一及片 | 亚洲国产日韩欧美在线 | 激情丁香月| 黄色片免费看 | 久久99日韩 | 精品二区视频 | 免费能看的黄色片 | 日日躁天天躁 | 国产精品 欧美 日韩 | 成人中心免费视频 | 西西www4444大胆在线 | 亚洲国产网址 | 久久精品国产精品 | 豆豆色资源网xfplay | 精品国产一区二区三区久久久久久 | 97成人精品区在线播放 | 亚洲黄色app | 99精品在线视频播放 | 国产高清视频免费观看 | 日本最新高清不卡中文字幕 | 久久久久免费网 | 亚洲国产精品激情在线观看 | 久久免费国产精品1 | 一区二区三区免费在线观看视频 | 久久久久久久久久久成人 | 国产精品毛片久久久 | 蜜桃麻豆www久久囤产精品 | 成人免费看片98欧美 | 国产一区二区三区免费在线 | 天天爽夜夜爽精品视频婷婷 | 九九热国产视频 | 色婷婷午夜 | 亚洲精品美女免费 | 久久99国产精品免费网站 | 国产原厂视频在线观看 | 日本中文不卡 | 超碰97在线资源站 | 91.dizhi永久地址最新 | 超碰97.com | 成人黄色片免费看 | 13日本xxxxxⅹxxx20| 丁香久久| 97免费在线观看视频 | 西西444www| 免费在线播放 | 日韩激情久久 | 日韩精品免费一区二区在线观看 | 久久国产免费视频 | 欧美成人中文字幕 | 九九久久久久久久久激情 | 五月婷婷亚洲 | 久久久久久国产一区二区三区 | 欧美激情第十页 | 日日干网址 | 91精品国产高清 | 欧美日韩另类在线 | 亚洲综合激情 | 天天干天天做 | 国产对白av| 国产精品毛片久久久久久 | 免费中文字幕视频 | 国内少妇自拍视频一区 | 色婷婷狠狠五月综合天色拍 | 日韩网站一区二区 | 四虎天堂| 久久精品网站视频 | 久久久精品国产免费观看一区二区 | 国产无遮挡又黄又爽在线观看 | 精品毛片一区二区免费看 | 亚洲免费国产视频 | 中文字幕在线看视频国产中文版 | 日韩色区 | 久久久久久97三级 | 久久99精品久久久久蜜臀 | 亚洲精品乱码久久久久v最新版 | 人人干人人超 | 国产理伦在线 | freejavvideo日本免费 | 国产精品嫩草影院99网站 | 一区二区高清在线 | 国产一区在线视频播放 | 久草资源免费 | 97韩国电影 | 中文字幕免费高清在线观看 | av日韩不卡 | 久99久久| 亚洲午夜小视频 | 91亚洲视频在线观看 | 国产精品四虎 | 成人全视频免费观看在线看 | 91理论片午午伦夜理片久久 | 波多野结衣电影一区 | 色婷婷久久一区二区 | 青青网视频 | 久久国产影视 | 亚洲一二区精品 | 精品久久视频 | 亚洲婷婷在线视频 | 欧美精品亚洲精品 | 久草精品在线观看 | 夜夜操天天干, | 亚洲精品在线观看中文字幕 | 婷婷干五月 | 日韩电影在线观看中文字幕 | 国语对白少妇爽91 | 久久人人爽人人爽 | 久久久免费看视频 | 国产精品久久在线观看 | 成人免费精品 | 99精品观看 | 精品嫩模福利一区二区蜜臀 | 欧美日韩国产色综合一二三四 | 成人精品亚洲 | 69欧美视频 | 五月婷婷综合激情网 | 日日干视频 | 亚洲视频h | av在线h| 99热这里精品 | 91天堂影院 | 日日麻批40分钟视频免费观看 | 欧美在线1区 | 成人免费一级片 | 日韩,中文字幕 | 久久久.com | 欧美激情精品久久久久久免费 | 国产亚洲精品久 | 免费av视屏| 日韩激情视频 | 日韩极品在线 | 97成人免费视频 | 成人精品影视 | 一色屋精品视频在线观看 | 99r在线| 久久国产精品久久久 | 色综合中文综合网 | 久久蜜臀一区二区三区av | 亚洲欧美成人在线 | 免费看片色| 国产精品第一页在线观看 | 国产精品久久久久久久久久 | 久久久久久久久免费视频 | 色综合天天做天天爱 | 区一区二在线 | 国产香蕉97碰碰碰视频在线观看 | 99视频偷窥在线精品国自产拍 | 精品国产乱码久久久久久1区2匹 | av午夜电影| 亚洲夜夜爽| 国产精品欧美久久 | 成人播放器 | av大片网站 | 欧美极度另类性三渗透 | 精品一区 精品二区 | 免费在线成人av | 婷婷中文字幕 | 欧美久久电影 | 亚洲精品在线视频观看 | 免费网址在线播放 | 91麻豆精品国产91久久久久 | 97色在线观看免费视频 | 九九热免费精品视频 | 77国产精品| 在线91av | 精品国产一区二区三区蜜臀 | 久久精品视频中文字幕 | 97精品超碰一区二区三区 | 精品免费观看视频 | 成人97视频| 99精品免费网 | 欧美日韩高清一区二区 国产亚洲免费看 | 99视频网站 | 99久久99| 久久久久久久久久久影视 | 免费午夜在线视频 | 久热精品国产 | 久久在线免费视频 | 精品一区二区精品 | 久久视影 | 私人av| 免费国产在线视频 | 亚洲精品美女久久 | 五月婷婷在线观看视频 | 伊人色**天天综合婷婷 | 欧美国产亚洲精品久久久8v | 国产手机视频精品 | 亚洲五月 | 久久美女视频 | 草在线| 成人网页在线免费观看 | 中文字幕亚洲欧美日韩 | 亚洲色图激情文学 | 亚洲国产美女精品久久久久∴ | 精品美女久久久久 | 日本精品午夜 | 日韩视频免费观看高清 | 日韩在线观看一区二区三区 | 亚洲午夜精品久久久 | 中文超碰字幕 | 天堂av免费 | 国产aa精品 | 欧美日韩免费观看一区=区三区 | 免费人人干 | 久久免费高清视频 | 91色网址| 久草在线久草在线2 | 九九免费观看视频 | 狠狠色丁香久久婷婷综合丁香 | 国产精品一区二区中文字幕 | 夜夜夜夜操| 亚洲精品在线免费播放 | 黄色福利网站 | 国产无遮挡又黄又爽在线观看 | 亚洲视频播放 | 97电院网手机版 | 国产一区在线视频观看 | 亚洲国产中文在线观看 | 欧美激情视频一区二区三区 | 国产精品黄色影片导航在线观看 | 国产精品视频永久免费播放 | 久操视频在线 | 日韩中文字幕在线观看 | 日韩欧美区 | 国产精品va在线观看入 | 五月天欧美精品 | 黄色在线小网站 | 波多野结衣在线播放一区 | 欧美大片第1页 | 午夜精品久久久久久久99无限制 | 亚洲一区网 | 五月天视频网 | 成人毛片一区 | 夜夜骑天天操 | 国产资源在线播放 | 亚洲免费av电影 | 在线成人免费电影 | 成人av中文字幕在线观看 | 91福利免费 | 毛片网站在线观看 | 亚洲欧美成人在线 | 五月婷婷丁香 | 在线探花| 国产热re99久久6国产精品 | 狠狠干在线 | 亚洲精品在线二区 | 久久久久欧美精品 | www.久久色 | 国产日韩欧美在线看 | 日韩免费一区二区 | av在线一级 | 丁香资源影视免费观看 | 国产精品麻豆一区二区三区 | 国产精品美女久久久网av | 国产va饥渴难耐女保洁员在线观看 | 色婷婷视频 | 中文字幕在线观看完整版电影 | 99久久精品网 | 亚洲综合在线播放 | 国产精品高清一区二区三区 | 日韩精品一区二区三区在线播放 | 国产精彩在线视频 | 天天激情综合 | 九九免费在线观看视频 | 日日综合网 | 日韩成人免费在线电影 | 国产精品99久久99久久久二8 | 日本精品中文字幕在线观看 | 国产精品久久久久永久免费 | 久久1区 | 欧美精品一二 | 欧美视频在线二区 | 欧美激情综合五月色丁香小说 | 337p欧美| 日韩久久一区 | 国产精品视频你懂的 | 日本中文字幕在线播放 | 国产成人精品日本亚洲999 | 成人免费观看网站 | 丁香花在线视频观看免费 | 91精品国产乱码久久桃 | 亚洲欧洲一区二区在线观看 | 天天操天天操天天干 | 欧美一级专区免费大片 | 中文字幕丝袜一区二区 | 日韩有码专区 | 亚洲韩国一区二区三区 | 亚洲第一区精品 | 在线播放日韩 | wwwwww色| 天天干天天操天天爱 | 五月婷婷色丁香 | 欧美精品久久久久久久免费 | 天天干天天看 | a级免费观看 | 亚洲视频观看 | 欧美日韩中文视频 | 久久不射电影院 | 狠狠色狠狠色综合日日小说 | 欧美日韩精品二区第二页 | 欧美色图狠狠干 | 成年人免费电影在线观看 | 日日夜夜天天射 | 国产一级性生活视频 | av资源在线看 | 亚洲精品国产电影 | 四虎永久网站 | 激情五月在线视频 | 在线观看www91 | 99色在线观看视频 | 亚洲激情综合网 | 国产精品123 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 婷婷丁香五| 天堂久久电影网 | 不卡国产视频 | 91九色在线观看视频 | 久久免费视屏 | 白丝av在线| 欧美另类交人妖 | 日本在线观看中文字幕无线观看 | 91成人观看 | 亚洲激情六月 | 亚洲黄色小说网址 | 91.精品高清在线观看 | 精品久久免费看 | 亚洲天堂自拍视频 | 91av综合| 亚洲天天综合网 | 国产一级视频在线 | 久久男女视频 | 日韩一区二区在线免费观看 | 久久久一本精品99久久精品66 | 日日射av | 天天操天操 | 青青河边草观看完整版高清 | 天天操天天色综合 | 国产黄色播放 | 久久精品国产一区二区 | 精品国产伦一区二区三区 | 一区二区三区在线观看免费视频 | 色com网| 911国产| 久草在线这里只有精品 | 成人中心免费视频 | 日韩免费播放 | 99精品视频在线 | 在线黄av| 久久综合之合合综合久久 | 在线国产日本 | 天堂av在线免费 | av片在线看| 国产精品福利久久久 | 手机av电影在线 | 亚洲第一中文字幕 | 久久av免费观看 | 婷婷六月中文字幕 | 在线看片日韩 | 婷婷在线综合 | 日日干狠狠操 | 亚洲影视九九影院在线观看 | 成人播放器 | 91在线产啪 | 欧美日韩免费视频 | 国产五月色婷婷六月丁香视频 | 色综合a | 国产无限资源在线观看 | 欧美日韩国产页 | 深夜激情影院 | 久久精品123 | 国产特级毛片aaaaaaa高清 | 深爱开心激情 | 欧美国产一区二区 | 99九九热只有国产精品 | 久久草草影视免费网 | 国产激情电影综合在线看 | 91在线观看视频网站 | 久久综合五月天婷婷伊人 | 亚洲视频aaa | 国产精品久久久av久久久 | 日日操网| 亚洲va在线va天堂va偷拍 | 97av影院| 国产精品门事件 | 手机看片中文字幕 | 午夜精品久久久久久久99水蜜桃 | 狠狠综合网 | 91九色蝌蚪视频 | 成人一区二区三区在线观看 | 亚洲最新av在线网址 | 成人在线免费观看视视频 | 日本精品xxxx | 久久久99精品免费观看 | 97在线免费观看 | 亚洲精品国产自产拍在线观看 | 国精产品满18岁在线 | 久久黄色免费视频 | 免费在线观看的av网站 | 中国美女一级看片 | 欧美一级特黄aaaaaa大片在线观看 | www.国产精品| 丁香综合网 | 国产精品福利无圣光在线一区 | 亚洲无吗av | 亚洲欧洲av | 亚州人成在线播放 | 国产美女在线免费观看 | 激情综合色图 | 国产美女免费视频 | 激情伊人五月天久久综合 | www成人av| 五月天激情视频 | 91一区啪爱嗯打偷拍欧美 | av超碰在线 | 免费在线观看日韩欧美 | 亚洲精品伦理在线 | 久久久高清免费视频 | 久久久久久看片 | 特黄特色特刺激视频免费播放 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 成人午夜av电影 | 国产不卡视频在线 | 一级黄色片网站 | 午夜精品电影 | 91九色视频 | 成人久久18免费网站麻豆 | 久久久国产精品久久久 | japanese黑人亚洲人4k | 狠狠色狠狠色综合系列 | 国产剧情在线一区 | 欧美日韩在线视频一区二区 | 国产手机在线视频 | 久久精品亚洲一区二区三区观看模式 | 欧美日韩国产精品一区二区亚洲 | 三级毛片视频 | 日本在线视频网址 | 91在线精品秘密一区二区 | 看v片| 98涩涩国产露脸精品国产网 | 久久久精品网站 | 国产高清日韩欧美 | 超碰在线人人爱 | 免费网站在线观看人 | 人人干人人模 | 精品99久久| 日韩精品高清视频 | 国产精品99久久免费观看 | 欧美激情第一区 | 麻豆91在线播放 | 精品在线视频播放 | 伊人精品影院 | 国产97视频| 丁香视频免费观看 | 国产1区在线 | 免费在线观看的av网站 | 91精品第一页 | 久久精品亚洲精品国产欧美 | 黄色小网站在线观看 | 欧美性生活免费看 | 欧美日韩中文字幕视频 | 色夜视频 | 久久黄色免费观看 | 亚洲精品免费在线观看视频 | 中文字幕韩在线第一页 | 欧洲激情综合 | 夜夜干夜夜 | 日韩精品一区不卡 | 中文字幕亚洲欧美日韩2019 | 88av网站 | 在线精品视频免费播放 | 亚洲精品合集 | 久久涩涩网站 | 久草在线99 | 国产免费观看久久黄 | 久草在线免费在线观看 | 91视频免费网址 | 日韩激情视频 | 毛片一级免费一级 | 中文字幕在线观看完整版电影 | 欧美精品一区二区免费 | 国产伦理精品一区二区 | 色婷婷视频在线 | 2023国产精品自产拍在线观看 | 久久久久综合精品福利啪啪 | 久久久久国产成人免费精品免费 | 日本精品视频网站 | 国产国语在线 | 狠狠色丁香久久婷婷综合五月 | 就操操久久 | 欧美巨乳波霸 | 久草网在线观看 | 日日操日日插 | 草久久影院 | 日韩一二区在线 | 99爱在线观看 | 黄色三级av | 亚洲人成免费 | 不卡的av在线 | 91夫妻视频| 99久久www | 97成人啪啪网 | 成年人免费看 | 精品国产一区二区三区久久久蜜臀 | 亚洲国产剧情av | 欧美一级片免费观看 | 亚洲热久久 | 中文字幕亚洲在线观看 | 亚洲欧美婷婷六月色综合 | 欧美一区二区三区激情视频 | 奇米影视777影音先锋 | 成人av动漫在线观看 | 久草在线精品观看 | 五月天丁香 | 国产最新网站 | 中文字幕亚洲精品在线观看 | 日日夜夜天天操 | 97超碰免费在线观看 | 日本3级在线观看 | 久久视频网 | 黄网站免费久久 | 亚洲天天看| 成人91在线观看 | 99色资源 | 青青河边草免费观看完整版高清 | 黄色h在线观看 | 麻豆免费在线视频 | 久久精品看| 91污污| 99免费在线 | 国产美女视频网站 | 91亚色免费视频 | 国产色视频一区二区三区qq号 | 麻豆久久久久 | 久久黄色片子 | 2019天天干天天色 | 国产在线精品观看 | 国产视频中文字幕 | 麻豆影视在线播放 | 色在线视频 | 91片黄在线观看动漫 | 一区二区三区免费在线观看 | 色婷婷久久久综合中文字幕 | 日本中文字幕电影在线免费观看 | 日韩激情中文字幕 | 日日夜夜亚洲 | 久久夜av | 成人国产精品一区二区 | 亚洲激情电影在线 | 麻豆系列在线观看 | 久久久久久久久久久久久久av | 伊人久操 | 91看片在线看片 | 91精品国产综合久久婷婷香蕉 | 国产小视频你懂的 | 亚洲精品久久久久中文字幕m男 | 欧美一区二区视频97 | 免费人成网| 24小时日本在线www免费的 | 欧美小视频在线 | 特级片免费看 | 97精品国产91久久久久久久 | 日韩一区二区三区在线观看 | 97超碰免费在线观看 | 91亚洲精品国偷拍自产在线观看 | www成人精品| 午夜精品一区二区三区在线播放 | 成年人免费观看在线视频 | 亚洲人成免费 | 欧美午夜视频在线 | 天天干天天干天天干 | 91av播放| 人人藻人人澡人人爽 | 欧美一级性 | 婷五月天激情 | av黄色免费在线观看 | 免费99| 在线看黄色的网站 | 婷婷深爱网 | 亚洲伊人色 | 亚洲色图av | 自拍超碰在线 | 黄色国产精品 | 婷婷精品国产欧美精品亚洲人人爽 | 国产成人精品一区二区三区福利 | 精品久久久久久国产91 | 国产999精品久久久影片官网 | 色视频网页 | 欧美一级性 | 一级黄网 | 国产精品久久伊人 | 高清不卡一区二区在线 | 在线看成人片 | 国产精品高潮呻吟久久久久 | 大胆欧美gogo免费视频一二区 | 日韩视频免费播放 | 最新av在线播放 | 黄色大全在线观看 | 丁香久久久 |