欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Eclipse快速上手Hibernate--7.關(guān)聯(lián)映射(一對多)(2)

Eclipse快速上手Hibernate--7. 關(guān)聯(lián)映射(一對多) (2)

    上篇文章《Eclipse快速上手Hibernate--7. 關(guān)聯(lián)映射(一對多) (1)》已經(jīng)說(shuō)了一對多的單向關(guān)聯(lián),這次還是用Room和User類(lèi)來(lái)說(shuō)明多對一的單向關(guān)聯(lián),只不過(guò)這次關(guān)聯(lián)關(guān)系是由User對象維持的。
 
  由于有了上篇文章的基礎,只要做些修改就可以了。
 
 
· 修改Room類(lèi),僅僅是刪除了關(guān)聯(lián)User類(lèi)的代碼。

Room.java

package javamxj.hibernate.association.one2many;/** * @hibernate.class table = "T_Room" */public class Room {	private Long id;	private String address;		/**	 * @hibernate.id	 *	column="ID"	 *	generator-class="hilo" 	 *	unsaved-value="null"	 */	public Long getId() {		return id;	}	public void setId(Long id) {		this.id = id;	}		/**	 * @hibernate.property length = "24"	 */	public String getAddress() {		return address;	}		public void setAddress(String address) {		this.address = address;	}	}
 
 
 
·  同樣修改User類(lèi),也是僅僅添加了關(guān)聯(lián)Room類(lèi)的代碼。

User.java

package javamxj.hibernate.association.one2many;/** * @hibernate.class table = "T_User" */public class User {	private Long id;	private String name;	private Room room;		/**	 * @hibernate.id	 *	column="ID"	 *	generator-class="hilo" 	 *	unsaved-value="null"	 */	public Long getId() {		return id;	}	public void setId(Long id) {		this.id = id;	}	/**	 * @hibernate.property length = "24"	 */	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}		/**	 * @hibernate.many-to-one	 * 	cascade="save-update" 	 *  column="Room_ID"	 */	public Room getRoom() {		return room;	}	public void setRoom(Room room) {		this.room = room;	}	}
·  在最后幾行中指明了引用Room類(lèi)的方式,其中@hibernate.many-to-one 表明在T_User表定義了外鍵Room_ID。通過(guò)這個(gè)外鍵來(lái)反映多對一關(guān)系。
 
 
 
 
 
·  看看Room類(lèi)的映射文件中的有關(guān)多對一關(guān)聯(lián)部分:

      <many-to-one
            name="room"
            class="javamxj.hibernate.association.one2many.Room"
            cascade="save-update"
            outer-join="auto"
            update="true"
            insert="true"
            access="property"
            column="Room_ID"
        />

· 這次級聯(lián)關(guān)系是 cascade="save-update", 當刪除多的一方中的一個(gè)對象時(shí),其所關(guān)聯(lián)的一的一方并不能同時(shí)被刪除,因為它有可能還關(guān)聯(lián)著(zhù)多的一方中的其它對象,所以這次不用 cascade="all" 了。

 

     
· 修改Demo.java文件,User通過(guò)級聯(lián)來(lái)更新Room。

Demo.java

/* * Hibernate - 關(guān)聯(lián)(Association)映射(一對多) * 創(chuàng  )建日期 2005-4-27 * @author javamxj(分享java快樂(lè )) * @link  Blog: htpp://blog.csdn.net/javamxj/  *              htpp://javamxj.mblogger.cn  */package javamxj.hibernate.association.one2many;import net.sf.hibernate.*;import net.sf.hibernate.cfg.*;public class Demo {	public static void main(String[] args) throws HibernateException {						Room room1 = new Room();		room1.setAddress("科研007");		Room room2 = new Room();		room2.setAddress("銷(xiāo)售001");		User user1 = new User();		user1.setName("張三");		user1.setRoom(room1);		User user2 = new User();		user2.setName("李四");		user2.setRoom(room1);		User user3 = new User();		user3.setName("王二");		user3.setRoom(room2);		SessionFactory sf= new Configuration().configure().buildSessionFactory();		Session session = sf.openSession();		Transaction tx = session.beginTransaction();				session.save(user1);		session.save(user2);		session.save(user3);				tx.commit();		session.close();		sf.close();	}}
 
 
 
 
·  然后同上面文章一樣,生成映射文件,生成表,執行Demo,最后數據表中生成如下數據: 
 
 
 
 
·  同時(shí),控制臺輸出如下:
  可以看到,多對一關(guān)聯(lián)相比一對多關(guān)聯(lián),只用了5條語(yǔ)句就完成了相同的操作結果。由于關(guān)聯(lián)關(guān)系由User對象維持的,每個(gè)User都對應至一個(gè)Room。它首先存儲的是Room對象,在存儲User對象時(shí),因為User已經(jīng)知道Room的存在,所以可以通過(guò)關(guān)聯(lián)字段Room_ID將User對象對Room對象的關(guān)系一并存儲在T_User表中了。
  
  這兩篇文章談?wù)摰亩际菃蜗蜿P(guān)聯(lián),如果Room類(lèi)和User類(lèi)存在雙向關(guān)聯(lián),又該如何呢?下篇文章見(jiàn)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Eclipse快速上手Hibernate--7. 關(guān)聯(lián)映射(一對多) (1)
hibernate多對一關(guān)聯(lián)映射
Struts+Spring+Hibernate快速入門(mén)
Eclipse下Hibernate入門(mén)
Hibernate標識符屬性(主鍵)生成策略全析
Hibernate—第二季many-one-many
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久