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

淺析Hibernate一對多數(shù)據(jù)關(guān)聯(lián)的問題(一)

開發(fā) 后端
Hibernate一對多數(shù)據(jù)關(guān)聯(lián)。指的是單向一對多數(shù)據(jù)關(guān)聯(lián)一個用戶有多個地址,在用戶類TUser中包含地址類TAddress集合。

Hibernate一對多數(shù)據(jù)關(guān)聯(lián)。指的是單向一對多數(shù)據(jù)關(guān)聯(lián)一個用戶有多個地址,在用戶類TUser中包含地址類TAddress集合。

1.數(shù)據(jù)模型

2.表定義sql

  1. use sample;  
  2.  
  3. DROP TABLE T_Address;  
  4. DROP TABLE T_User;  
  5.  
  6. CREATE TABLE T_User (  
  7.        id INT NOT NULL AUTO_INCREMENT  
  8.      , name VARCHAR(50)  
  9.      , age INT  
  10.      , PRIMARY KEY (id)  
  11. );  
  12.  
  13. CREATE TABLE T_Address (  
  14.        id INT NOT NULL AUTO_INCREMENT  
  15.      , address VARCHAR(200)  
  16.      , zipcode VARCHAR(10)  
  17.      , tel VARCHAR(20)  
  18.      , type VARCHAR(20)  
  19.      , user_id INT NOT NULL  
  20.      , idx INT  
  21.      , PRIMARY KEY (id)  
  22.      , INDEX (user_id)  
  23.      , CONSTRAINT FK_T_Address_1 FOREIGN KEY (user_id)  
  24.                   REFERENCES T_User (id)  
  25. );  

POJO類
TUser.java

  1. package cn.blogjava.start;  
  2.  
  3. import java.util.Set;  
  4.  
  5. public class TUser  implements java.io.Serializable {  
  6.     // Fields      
  7.      private Integer id;  
  8.      private Integer age;  
  9.      private String name;  
  10.      private Set address;  
  11.  
  12.  
  13.     // Constructors  
  14.  
  15.     public Integer getAge() {  
  16.         return age;  
  17.     }  
  18.  
  19.     public void setAge(Integer age) {  
  20.         this.age = age;  
  21.     }  
  22.  
  23.  
  24.     public Set getAddress() {  
  25.         return address;  
  26.     }  
  27.  
  28.     public void setAddress(Set address) {  
  29.         this.address = address;  
  30.     }  
  31.  
  32.     /** default constructor */  
  33.     public TUser() {  
  34.     }  
  35.       
  36.     /** constructor with id */  
  37.     public TUser(Integer id) {  
  38.         this.id = id;  
  39.     }  
  40.  
  41.     // Property accessors  
  42.  
  43.     public Integer getId() {  
  44.         return this.id;  
  45.     }  
  46.       
  47.     public void setId(Integer id) {  
  48.         this.id = id;  
  49.     }  
  50.  
  51.     public String getName() {  
  52.         return this.name;  
  53.     }  
  54.       
  55.     public void setName(String name) {  
  56.         this.name = name;  
  57.     }  

TAddress.java

  1. package cn.blogjava.start;  
  2.  
  3. import java.io.Serializable;  
  4.  
  5. public class TAddress implements Serializable {  
  6.       
  7.     private Integer id;  
  8.     private String address;  
  9.     private String zipcode;  
  10.     private String tel;  
  11.     private String type;  
  12.     private Integer userId;  
  13.     private Integer idx;  
  14.       
  15.     public Integer getId() {  
  16.         return id;  
  17.     }  
  18.     public void setId(Integer id) {  
  19.         this.id = id;  
  20.     }  
  21.     public String getAddress() {  
  22.         return address;  
  23.     }  
  24.     public void setAddress(String address) {  
  25.         this.address = address;  
  26.     }  
  27.     public Integer getIdx() {  
  28.         return idx;  
  29.     }  
  30.     public void setIdx(Integer idx) {  
  31.         this.idx = idx;  
  32.     }  
  33.     public String getTel() {  
  34.         return tel;  
  35.     }  
  36.     public void setTel(String tel) {  
  37.         this.tel = tel;  
  38.     }  
  39.     public String getType() {  
  40.         return type;  
  41.     }  
  42.     public void setType(String type) {  
  43.         this.type = type;  
  44.     }  
  45.     public Integer getUserId() {  
  46.         return userId;  
  47.     }  
  48.     public void setUserId(Integer userId) {  
  49.         this.userId = userId;  
  50.     }  
  51.     public String getZipcode() {  
  52.         return zipcode;  
  53.     }  
  54.     public void setZipcode(String zipcode) {  
  55.         this.zipcode = zipcode;  
  56.     }  
  57.  
  58. }  

3.配置文件
TUser.hbm.xml

  1. xml version="1.0"?> 
  2. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
  3. <hibernate-mapping> 
  4.     <class name="cn.blogjava.start.TUser" table="T_User" catalog="sample" 
  5.      dynamic-update="true" dynamic-insert="true" 
  6.     > 
  7.         <id name="id" type="integer"> 
  8.             <column name="id" /> 
  9.             <generator class="native" /> 
  10.         id> 
  11.         <property name="name" type="string" column="name" /> 
  12.         <property name="age" type="java.lang.Integer" column="age" /> 
  13.  
  14.         <set name="address" table="t_address" cascade="all" order-by="zipcode asc"> 
  15.             <key column="user_id"> 
  16.             key> 
  17.             <one-to-many class="cn.blogjava.start.TAddress" /> 
  18.         set> 
  19.     class> 
  20. hibernate-mapping> 

TAddress.hbm.xml
注意:沒有配置user_id字段。

  1. xml version="1.0"?> 
  2. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
  3. <hibernate-mapping> 
  4.     <class name="cn.blogjava.start.TAddress" table="T_Address" catalog="sample"> 
  5.         <id name="id" type="integer"> 
  6.             <column name="id" /> 
  7.             <generator class="native" /> 
  8.         id> 
  9.         <property name="address" type="string" column="address" /> 
  10.         <property name="zipcode" type="string" column="zipcode" /> 
  11.         <property name="tel" type="string" column="tel" /> 
  12.         <property name="type" type="string" column="type" /> 
  13.         <property name="idx" type="java.lang.Integer" column="idx" /> 
  14.     class> 
  15. hibernate-mapping> 

4.測試代碼

  1. package cn.blogjava.start;  
  2.  
  3. import java.util.HashSet;  
  4. import java.util.Iterator;  
  5. import java.util.List;  
  6.  
  7. import junit.framework.Assert;  
  8. import junit.framework.TestCase;  
  9.  
  10. import org.hibernate.HibernateException;  
  11. import org.hibernate.Session;  
  12. import org.hibernate.SessionFactory;  
  13. import org.hibernate.Transaction;  
  14. import org.hibernate.cfg.Configuration;  
  15.  
  16.  
  17. public class HibernateTest extends TestCase {  
  18.       
  19.     Session session = null;  
  20.  
  21.     protected void setUp() {  
  22.         try {  
  23.             Configuration config = new Configuration().configure();  
  24.             SessionFactory sessionFactory = config.buildSessionFactory();  
  25.             session = sessionFactory.openSession();  
  26.               
  27.         } catch (HibernateException e) {  
  28.             e.printStackTrace();  
  29.         }          
  30.     }  
  31.  
  32.     protected void tearDown() {  
  33.         try {  
  34.             session.close();          
  35.         } catch (HibernateException e) {  
  36.             e.printStackTrace();  
  37.         }          
  38.     }      
  39.       
  40.     /**  
  41.      * 對象持久化測試(Insert方法)  
  42.      */          
  43.     public void testInsert() {  
  44.         Transaction tran = null;  
  45.         try {  
  46.           
  47.             TUser user = new TUser();  
  48.             user.setName("byf");  
  49.             user.setAge(new Integer(26));  
  50.               
  51.             TAddress addr = new TAddress();  
  52.             addr.setTel("1123");  
  53.             addr.setZipcode("233123");  
  54.             addr.setAddress("HongKong");  
  55.               
  56.             TAddress addr2 = new TAddress();  
  57.             addr2.setTel("139");  
  58.             addr2.setZipcode("116001");  
  59.             addr2.setAddress("dalian");              
  60.  
  61.             TAddress addr3 = new TAddress();  
  62.             addr3.setTel("136");  
  63.             addr3.setZipcode("100080");  
  64.             addr3.setAddress("beijing");  
  65.               
  66.             //設(shè)置關(guān)聯(lián)  
  67.             HashSet set = new HashSet();  
  68.             set.add(addr);  
  69.             set.add(addr2);  
  70.             set.add(addr3);  
  71.             user.setAddress(set);  
  72.                                      
  73.             tran = session.beginTransaction();                                  
  74.             //插入user信息  
  75.             session.save(user);  
  76.             session.flush();  
  77.             tran.commit();  
  78.             Assert.assertEquals(user.getId().intValue()>0 ,true);  
  79.         } catch (HibernateException e) {  
  80.             e.printStackTrace();  
  81.             Assert.fail(e.getMessage());  
  82.             if(tran != null) {  
  83.                 try {  
  84.                     tran.rollback();  
  85.                 } catch (Exception e1) {  
  86.                     e1.printStackTrace();  
  87.                 }  
  88.             }  
  89.         }  
  90.     }  
  91.       
  92.     /**  
  93.      * 對象讀取測試(Select方法)  
  94.      */              
  95.     public void testSelect(){  
  96.         String hql = " from TUser where name='byf'";  
  97.         try {  
  98.             List userList = session.createQuery(hql).list();  
  99.             TUser user = (TUser)userList.get(0);  
  100.             System.out.println("user name is " + user.getName());  
  101.               
  102.             for (Iterator iter = user.getAddress().iterator(); iter.hasNext();) {  
  103.                 TAddress addr = (TAddress) iter.next();  
  104.                 System.out.println("user address is " + addr.getAddress());                  
  105.             }  
  106.             Assert.assertEquals(user.getName(), "byf");  
  107.         } catch (Exception e) {  
  108.             e.printStackTrace();  
  109.             Assert.fail(e.getMessage());  
  110.         }  
  111.     }  

說明:
一個問題,由于是單向關(guān)聯(lián),為了保持關(guān)聯(lián)關(guān)系,我們只能通過主控方對被動方進(jìn)行級聯(lián)更新。如果被關(guān)聯(lián)方的字段為NOT NULL屬性,當(dāng)Hibernate一對多創(chuàng)建或者更新關(guān)聯(lián)關(guān)系時,可能出現(xiàn)約束違例。

例子中T_Address表中的user_id 為NOT NULL,如果在TAddress.hbm.xml映射了全部字段時。創(chuàng)建一個用戶并賦予她地址信息,對于T_Address表而言,Hibernate一對多會執(zhí)行兩條sql語句來保存地址信息。

要執(zhí)行兩條SQL語句,是因為關(guān)聯(lián)是單向的,就是說對于TAddress對象而言,并不知道自己應(yīng)該與那一個TUser對象關(guān)聯(lián),只能先將user_id設(shè)為一個空值。
之后,根據(jù)配置文件

  1. <set name="address" table="t_address" cascade="all" order-by="zipcode asc"> 
  2.             <key column="user_id"> 
  3.             key> 
  4.             <one-to-many class="cn.blogjava.start.TAddress" /> 
  5.         set> 

Hibernate一對多數(shù)據(jù)關(guān)聯(lián)是Hibernate中比較典型的問題,這里只是簡單介紹。

【編輯推薦】

  1. 淺析Hibernate一對多數(shù)據(jù)關(guān)聯(lián)的問題(二)
  2. 對Hibernate中g(shù)et()與load()不同點分析
  3. Struts-Spring-Hibernate案例
  4. 簡述Hibernate配置連接池
  5. 對Hibernate中g(shù)et()與load()不同點分析
責(zé)任編輯:仲衡 來源: baidu
相關(guān)推薦

2009-09-23 10:57:02

Hibernate一對

2012-03-21 11:43:41

JavaHibernate

2012-02-08 13:34:08

HibernateJava

2009-09-22 09:55:58

Hibernate實例

2009-06-04 10:34:19

Hibernate一對一對多關(guān)系配置

2009-06-04 16:14:22

Hibernate一對Hibernate一對Hibernate多對

2009-06-03 16:27:27

Hibernate一對一關(guān)系

2010-04-15 09:09:02

Hibernate

2009-08-17 10:34:51

NHibernate一

2009-06-03 16:18:16

Hibernate關(guān)系代碼實例

2009-12-23 09:31:11

寬帶路由上網(wǎng)故障

2009-09-22 17:32:38

Hibernate A

2010-07-07 08:33:09

SQL Server學(xué)

2009-06-26 10:15:54

面試HR

2012-02-23 09:24:52

大數(shù)據(jù)云計算

2009-07-21 17:31:39

iBATIS一對多映射

2018-04-11 15:33:59

大數(shù)據(jù)塊鏈去中心化

2009-06-17 14:55:26

Hibernate數(shù)據(jù)

2009-06-24 07:58:52

Hibernate多數(shù)

2022-02-18 11:05:25

Jpa配置Address
點贊
收藏

51CTO技術(shù)棧公眾號

伊人成综合网| 另类人妖一区二区av| 欧美一区二区三区不卡视频| 日韩精品久久久免费观看| 欧美日韩亚洲高清| 日日夜夜亚洲| 免费在线一区二区三区| 欧美日韩精品不卡| 欧美色电影在线| 丁香5月婷婷久久| 久久久久久久久久99| 男人的天堂官网| 欧美aaaaaaa| 国产手机视频一区二区| 亚洲精品xxxx| 青青青在线视频免费观看| 天堂在线中文网| 秋霞国产午夜精品免费视频| 欧美大码xxxx| 久久久亚洲av波多野结衣| 88xx成人永久免费观看| 久久久99久久| 欧美一级片在线播放| 亚洲一区二区乱码| 成人av在线播放| 一本到三区不卡视频| 潘金莲一级淫片aaaaa免费看| 亚洲女人18毛片水真多| 日本不卡的三区四区五区| 久久精品99久久久久久久久| 涩视频在线观看| 99热播精品免费| 一区二区成人在线| 先锋影音网一区| 日本黄色大片视频| 国产精品久久久久毛片大屁完整版| 日韩中文字幕在线视频| 日韩av无码一区二区三区不卡 | 两个人看的在线视频www| 中文字幕乱码亚洲精品一区| 国产女人水真多18毛片18精品| 亚洲视频在线免费播放| 夜夜精品视频| 精品国产欧美一区二区三区成人| 中文字幕一区二区久久人妻网站| 欧洲美女精品免费观看视频| 中文字幕综合| 成人av在线影院| 成人黄色影片在线| 波多野结衣一本一道| 激情久久久久久久| 欧美成人精品一区| 中国1级黄色片| 国产成人精品三级高清久久91| 在线播放国产精品二区一二区四区| 欧美日韩在线视频一区二区三区| av福利在线播放| 91一区二区在线| 日韩视频一区二区在线观看| 国产欧美日韩一级| 婷婷色在线资源| www.4hu95.com四虎| 美日韩精品免费| 在线欧美日韩国产| 精品美女在线视频| www国产在线| 中文国产在线观看| 91tv亚洲精品香蕉国产一区7ujn| 一区二区日韩av| 亚洲男人都懂第一日本| 免费观看黄色av| 在线看成人av电影| 中文字幕日韩av| 中文字幕 久热精品 视频在线| 亚洲综合影院| 深夜福利影院在线观看| 国产精品成人一区二区三区 | 中文字幕中文字幕在线中高清免费版 | 热久久免费视频| 国产成人精品免费久久久久 | av高清一区| 日本免费网站视频| 亚洲在线色站| 日韩av在线播放资源| 丁香婷婷综合激情五月色| 男女啪啪999亚洲精品| 国产精品久久久久毛片| 少妇精品无码一区二区免费视频| 婷婷综合激情网| www久久精品| 水蜜桃一区二区三区| 日本高清在线观看wwwww色| 亚洲人被黑人高潮完整版| 成人国产在线看| 咪咪网在线视频| 在线观看视频欧美| 99中文字幕在线| 精品按摩偷拍| 精品日韩欧美在线| 波多野吉衣中文字幕| 久久影视一区| 久久久久久久久久久久久久久久久久av| 精品少妇一二三区| 天堂一区二区在线| 91视频88av| 国产黄色片av| wwwwxxxxx欧美| 在线观看18视频网站| 98色花堂精品视频在线观看| 疯狂蹂躏欧美一区二区精品| jizz欧美性11| 人妖一区二区三区| 亚洲天堂男人天堂| 国产亚洲小视频| 奇米在线7777在线精品| 高清视频在线观看一区| 成年网站在线| 亚洲在线一区二区三区| 欧美视频在线免费播放| 色婷婷777777仙踪林| 国产不卡网站| 日韩视频中午一区| 成都免费高清电影| 91精品国产自产拍在线观看蜜| 91禁外国网站| 一区二区www| 久久色在线视频| 国产一区二区三区乱码| 欧美97人人模人人爽人人喊视频| 亚洲第一区第二区| 国内偷拍精品视频| 麻豆精品视频在线观看免费| 国产伦精品一区二区三区免费视频| 北岛玲一区二区三区| 亚洲人成精品久久久久| 美女少妇一区二区| 亚洲精品动态| 欧美久久精品一级黑人c片| 欧美日本在线一区| 国产精品午夜春色av| 一区二区日韩免费看| 精品中文字幕一区二区三区四区| 在线国产情侣| av中文字幕在线免费观看| 精品欧美一区二区久久久久| 四虎精品一区二区| 日韩avxxx| 色姑娘综合av| 97se亚洲综合| 久久97精品久久久久久久不卡 | 久久久久久av| 欧美一区二区福利在线| 色婷婷综合久久久中文字幕| 在线观看视频一区二区| 99久久精品国产导航| 色狼人综合干| 视频免费一区二区| 成年人视频网站在线| 夜夜嗨一区二区三区| 99电影网电视剧在线观看| 五月激情丁香网| 久久久噜噜噜久久人人看| 国内精品国产三级国产99| 亚洲精品在线影院| 精品国产免费一区二区三区四区| 5858s免费视频成人| 图片区日韩欧美亚洲| 中文乱码免费一区二区| 久久精品一区二区| 99久久99久久综合| 亚洲日韩视频| 日韩午夜免费| 日韩欧美一区二区三区在线视频| 精品国产乱码久久久久久1区2匹| 欧美日本一区二区视频在线观看 | 99精品人妻少妇一区二区| 成人在线超碰| 欧美有码在线观看| 国产小视频免费在线观看| 欧洲国内综合视频| 国产特级黄色录像| 六月丁香婷婷色狠狠久久| 欧美爱爱视频网站| 日韩在线电影| 国产一区二区激情| 91丨porny丨在线中文 | 日本欧美在线观看| 欧美第一黄网| 日韩成人综合网| 欧美丰满少妇xxxxx| 神马午夜精品95| 日本丶国产丶欧美色综合| 亚洲天堂成人av| 日本sm残虐另类| 粉嫩av一区二区三区天美传媒| aaa国产精品视频| 蜜臀va亚洲va欧美va天堂| 成人黄色影片在线| 国产美女高潮在线观看| 亚洲天堂久久av| av中文字幕播放| 欧美性xxxx极品hd满灌| 在线免费看黄视频| 国产剧情一区二区| 欧美一级免费播放| 日韩欧美字幕| 国产精品香蕉视屏| 国产成人精选| 97在线视频一区| 操你啦在线视频| 亚洲欧美国产另类| 韩国一区二区三区四区| 日本少妇一级片| 精品无码国产污污污免费网站| 欧美自拍偷拍网| 久久高清免费视频| 少妇高潮av久久久久久| 刘亦菲毛片一区二区三区| 国产黄色在线播放| 黄色在线观看网站| 午夜影视一区二区三区| 成人黄色理论片| av中字幕久久| 国产一区二区三区的电影| 国产一区二区在线看| 中文字幕一区视频| 欧美激情一区二区三区不卡| 亚洲美女视频在线观看| 日韩午夜激情电影| 51精品在线观看| 国产精品一二区| 久久成人综合视频| 国产v综合ⅴ日韩v欧美大片| 99影视tv| 欧美精品日韩一区| 国产精品亚洲不卡a| 成人毛片av在线| 亚洲网站在线播放| 日韩一区二区三区在线观看视频| 欧美日韩国产片| 真实新婚偷拍xxxxx| 亚洲一区二区成人在线观看| 国产人妻精品一区二区三区不卡 | 激情网站五月天| 亚洲激情精品| 国产一线二线三线女| 亚洲欧洲日韩| 无码免费一区二区三区免费播放| 久久的色偷偷| 国产精品女主播视频| 欧美精品高清| 欧美自拍大量在线观看| 深夜福利视频一区二区| 97视频免费在线观看| 国产精品va在线观看视色| 色999日韩欧美国产| av国产在线观看| 日韩中文字幕视频在线观看| 午夜伦全在线观看| 亚洲性夜色噜噜噜7777| 成人激情电影在线看| 亚洲系列中文字幕| 欧美扣逼视频| 精品国产乱码久久久久久1区2区| 黑人精品一区二区三区| 精品国产1区二区| 国产高清免费在线观看| 日韩午夜精品电影| 日本波多野结衣在线| 亚洲免费小视频| 毛片在线播放网站| 在线日韩中文字幕| 国产激情视频在线| 国内精品模特av私拍在线观看| 538视频在线| 91成人福利在线| 国产成人久久精品麻豆二区| 国产日韩专区在线| 2020最新国产精品| 国产日韩在线一区二区三区| 国产成人三级| 欧美亚洲爱爱另类综合| 精品视频亚洲| 91九色国产ts另类人妖| 国产精品porn| 九色在线视频观看| 日本伊人色综合网| 亚洲精品久久久中文字幕| 国产成人免费视频网站| 污污污www精品国产网站| 日产精品一区| 亚洲国产精品成人av| 精品999视频| 一区二区av在线| 欧美jizz18性欧美| 性欧美暴力猛交69hd| 日韩理论视频| 国产精品一久久香蕉国产线看观看| 日本免费一区二区视频| 欧美精品一区二区视频| 凹凸成人精品亚洲精品密奴| 少妇大叫太大太粗太爽了a片小说| 女厕嘘嘘一区二区在线播放 | 亚洲线精品一区二区三区八戒| 国产尤物在线视频| 欧美在线观看视频在线| 亚洲乱码国产乱码精品精软件| 亚洲丝袜在线视频| 超碰在线caoporn| 欧美一级电影久久| 不卡一二三区| 91在线免费看片| 沈樵精品国产成av片| 白白操在线视频| 麻豆久久久久久| 中文字幕av观看| 亚洲色图都市小说| 成人黄色免费网| 日韩av中文字幕在线免费观看| www在线视频| 国产精品第一视频| 国产精品网在线观看| 日韩精品久久久| 一本综合久久| 97中文字幕在线观看| 国产精品区一区二区三区| 亚洲伊人成人网| 亚洲精品福利资源站| 免费高清完整在线观看| 日韩免费av在线| 久久免费视频66| 国产爆乳无码一区二区麻豆| 美女国产一区二区三区| 在线观看成人动漫| 国产精品久久久久精k8| 国产女主播喷水视频在线观看| 精品国产伦一区二区三区观看体验| 免费看美女视频在线网站| 国产91在线播放九色快色| 亚洲一区 二区| 中文精品一区二区三区| 麻豆精品网站| 国产精品91av| 亚洲午夜久久久久久久久久久 | 国产激情精品一区二区三区| 亚洲影影院av| 日韩欧美网址| 中文字幕视频三区| 欧美国产97人人爽人人喊| 国产一级二级毛片| 日韩欧美国产骚| 蜜桃视频在线观看网站| 91av国产在线| 五月天亚洲色图| 欧美日本不卡视频| 91精品在线视频观看| 最新亚洲国产精品| 国产精品伦理| 国产成人精品视频在线观看| 一本色道久久综合狠狠躁的番外| 日本精品免费在线观看| 成人黄色在线视频| 永久免费看mv网站入口| 欧美体内she精视频| 成年女人的天堂在线| 国产97在线观看| 精品久久ai| 波多野结衣家庭教师视频| 91在线小视频| jizz国产在线| 日韩视频第一页| 91成人精品观看| 亚洲精品国产系列| 免费人成网站在线观看欧美高清| 精品无码人妻一区二区免费蜜桃 | 韩国欧美国产1区| www.99re6| 在线观看日韩精品| avav免费在线观看| 亚洲精品免费一区二区三区| 欧美日韩午夜| 熟女人妻一区二区三区免费看| 亚洲人成精品久久久久| 色窝窝无码一区二区三区成人网站| 欧美精品国产精品日韩精品| 国产精品15p| 嫩草av久久伊人妇女超级a| 欧美高清一级片在线观看| 国产草草影院ccyycom| 国内精品免费午夜毛片| 日韩精品视频一区二区三区| 久久国产亚洲精品无码| 日本一二三不卡| 蜜臀99久久精品久久久久小说| 一区二区三区视频免费在线观看| 青青草国产一区二区三区| 男女激情免费视频| 91网上在线视频| 国产又粗又猛又爽| 97成人超碰免|