【6.2】hibernate_component
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【6.2】hibernate_component
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                問題:一個(gè)老師有多個(gè)家庭地址,如何存儲(chǔ)該老師的信息?
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);//第一個(gè)參數(shù) 是否生成ddl腳本 第二個(gè)參數(shù) 是否執(zhí)行到數(shù)據(jù)庫中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("南六環(huán)");t.setAddress(address);session.save(t);tx.commit();}catch (HibernateException e) {if(tx!=null)tx.rollback();e.printStackTrace();throw e;}finally{HibernateUtil.closeSession();}} }?
5.測試結(jié)果:
控制臺(tái)信息:
?
數(shù)據(jù)庫表信息:
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/chxbar/p/6676449.html
總結(jié)
以上是生活随笔為你收集整理的【6.2】hibernate_component的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Hash 分布均衡算法
 - 下一篇: apache poi合并单元格设置边框