欢迎来到天天文库
浏览记录
ID:13697034
大小:78.00 KB
页数:26页
时间:2018-07-23
《hibernate实体关系映射》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实体关系映射:示例用表_1:/*========================================================*//*Table:customer客户表*//*========================================================*/createtablecustomer(customerIdnumber(10)notnull,customerNamevarchar2(20),addressvarchar2(100),constraintPK_customerprimarykey(customerId)
2、);/*====================================================*//*Table:orders订单表*//*====================================================*/CREATETABLEorders(orderidnumber(10)NOTNULL,customerIdnumber(10)null,totalnumber(10,2)null,createDatedatenull,constraintPK_ordersPRIMARYKEY(orderid),constraintF
3、K_customer_orderforeignKEY(customerId)referencescustomer(customerId));多对一的单向关联关系只在Orders类设置对应外键的属性privateCustomercustomer;hbm.xml:一对多的单向关联关系只在Customer类设置集合属性(首选考虑Set集合)Setorders=newHashSet();//必须是接口的引用hbm.xml:<
8、key>多对一的双向关联关系将以上两者都作关联映射Annotation版本:多对一的单向关联关系@ManyToOne(cascade={CascadeType.ALL})@JoinColumn(name="CUSTOMERID")publicCustomer_ANTgetCustomer(){returncustomer;}/**@ManyToOne指定多对一的单向关系与外键关系匹配只在多端设置一个外键成员*@JoinColumn指明外键列名*Cascade级联(是一个数组)针对CUD,CascadeType取值:ALL所有MERGE调用marge方法时PERSIST
10、调用persist方法时REFRESH调用refresh方法时REMOVE调用remove方法时*/一对多的单向关联关系@OneToMany@JoinColumn(name="CUSTOMERID")//注意这里需要指定@JoinColumnname为外键列名publicSetgetOrders(){returnorders;}/***@OneToMany指定一对多关联关系*单向只在一端设置集合属性(一般使用Set)*双向一端设置集合属性多端设置外键成员**双向关联时
此文档下载收益归作者所有