日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【6.2】hibernate_component

發布時間:2024/1/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【6.2】hibernate_component 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題:一個老師有多個家庭地址,如何存儲該老師的信息?

1.Address類:

package cn.siggy.pojo;public class Address {private String addr1;private String addr2;private String addr3;public String getAddr1() {return addr1;}public void setAddr1(String addr1) {this.addr1 = addr1;}public String getAddr2() {return addr2;}public void setAddr2(String addr2) {this.addr2 = addr2;}public String getAddr3() {return addr3;}public void setAddr3(String addr3) {this.addr3 = addr3;} }

  

?2.Teacher類:

package cn.siggy.pojo;public class Teacher {private int id;private String name;private String sex;private Address address;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;} }

  

3.Teacher.hbm.xml

<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.siggy.pojo"><class name="Teacher"><id name="id"><generator class="native"></generator></id><property name="name"/><property name="sex"/><!-- 組件 --><component name="address" class="Address"><property name="addr1"/><property name="addr2"/><property name="addr3"/></component></class> </hibernate-mapping>

  

4.測試代碼:

package cn.siggy.test;import java.sql.SQLException;import javax.sql.rowset.serial.SerialException;import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.junit.Test;import cn.siggy.pojo.Address; import cn.siggy.pojo.Teacher; import cn.siggy.util.HibernateUtil;public class HibernateTest {@Testpublic void testCreateDB(){Configuration cfg = new Configuration().configure();SchemaExport se = new SchemaExport(cfg);//第一個參數 是否生成ddl腳本 第二個參數 是否執行到數據庫中se.create(true, true);}@Testpublic void testSave() throws HibernateException, SerialException, SQLException{Session session = null;Transaction tx = null;try{session = HibernateUtil.getSession();tx = session.beginTransaction();Teacher t = new Teacher();t.setName("老裴");t.setSex("男");Address address = new Address();address.setAddr1("西三旗");address.setAddr2("西直門");address.setAddr3("南六環");t.setAddress(address);session.save(t);tx.commit();}catch (HibernateException e) {if(tx!=null)tx.rollback();e.printStackTrace();throw e;}finally{HibernateUtil.closeSession();}} }

?

5.測試結果:

控制臺信息:

?

數據庫表信息:

?

?

?

轉載于:https://www.cnblogs.com/chxbar/p/6676449.html

總結

以上是生活随笔為你收集整理的【6.2】hibernate_component的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。