首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

JPA 双向一对多联系关系(@OneToMany)

2012-09-22 
JPA双向一对多关联(@OneToMany)一个客户可以有多个地址,一个地址又可以获得所属的客户。客户和地址是一对多

JPA 双向一对多关联(@OneToMany)
      一个客户可以有多个地址,一个地址又可以获得所属的客户。客户和地址是一对多的关系,并且地址与客户是双向关联的。实例如下:

  测试类 TestJPA.javapackage com.demo.bean.onetomany1;import java.util.Collection;import javax.persistence.EntityManager;import javax.persistence.EntityManagerFactory;import javax.persistence.EntityTransaction;import javax.persistence.Persistence;public class TestJPA {/** * 测试jpa注解 * @param args */public static void main(String[] args) {// TODO Auto-generated method stubEntityManagerFactory emf = Persistence.createEntityManagerFactory("tpdb");EntityManager em = emf.createEntityManager();EntityTransaction et = em.getTransaction();et.begin();    saveOneToMany(em);    et.commit();        //查询    Customer_m ctm = em.find( Customer_m.class, new Long(4));    Collection cot  = ctm.getAddress();    for( Object address_m:cot){    Address_m am = (Address_m) address_m;    System.out.println("cm---am --"+am.getDetail());    }    }private static void saveOneToMany(EntityManager em){Customer_m ct = new Customer_m();ct.setName("小叶");Address_m ad = new Address_m();ad.setProvince("河南省");ad.setCity("开封市");ad.setPostcode("601000");ad.setDetail("雨花区");Address_m ad1 = new Address_m();ad1.setProvince("海南省");ad1.setCity("台北市");ad1.setPostcode("656110");ad1.setDetail("开花区");//关联ct.getAddress().add( ad );ct.getAddress().add( ad1 );ad.setCustomer( ct );ad1.setCustomer( ct );         em.persist( ct );}}

热点排行