欢迎来到天天文库
浏览记录
ID:56527561
大小:255.00 KB
页数:34页
时间:2020-06-27
《Hibernate实体关系映射(new).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Hibernate实体关系映射上讲几个知识点回顾(2个问题):Hibernate.cfg.xml中的hibernate.show_sql是什么意思呢?对象-关系映射文件中,id节点的子节点generator的class属性值为native时,主键生成方式是什么呢?几种实体间的关系一对一关系一对多关系多对多关系一对一关系映射应用场景:公民公民身份证UML静态类图一对一关系映射ER图应用场景:公民公民身份证Citizen类vsCard类实现packagecom.demo.model;publicclassCiti
2、zen{privateintid;privateStringname;privateIntegerage;/***身份证(一对一关联)*/privateCardcard;/*省略get与set方法*/}packagecom.demo.model;publicclassCard{privateintid;privateStringcode;privateStringorganization;/***所属公民(一对一关联)*/privateCitizencitizen;/*省略get与set方法。*/}Card类的实
3、现Citizen类的实现映射文件:Citizen.hbm.xml4、一对一节点5
4、、级联操作(all,none,delete,save-update)1、类=>表2、ID主键映射3、主键生成器映射文件:Card.hbm.xmlcitizen5、en"class="com.demo.model.Citizen"constrained="true“/>1、foreign主键生成器2、类属性3、一对一节点4、约束(必须为true)一对一关联测试运行publicvoidtestOneToOneRelation(){Citizencitizen=newCitizen();citizen.setName("Tom");citizen.setAge(20);Cardcard=newCard();card.setCode("65280119820612051");ca6、rd.setOrganization("JingLiuarea");//相互设置关联citizen.setCard(card);card.setCitizen(citizen);//保存(由于citizen的配置中设置了cascade=“all”属性,因此,可以进行级联保存)Transactiontx=session.beginTransaction();session.save(citizen);//只需从主控方保存即可tx.commit();}跟踪出的sql:1、insertintot_citizen(nam7、e,age)values(?,?)2、insertintot_card(id,sfzh,fzjh)values(?,?,?)一对一关联的另一种数据存储如何在配置上实现呢???一对一(惟一外键)关联映射文件8、any-to-onename=“card"class="com.demo.model.Card"cascade=“all"unique=“true"column=“card_id"/>映射文件:Citizen.hbm.xml1、一对一节点(多对一特例)2、级联操作3、数据库字段名一对一(惟一外键)关联映射文件
5、en"class="com.demo.model.Citizen"constrained="true“/>1、foreign主键生成器2、类属性3、一对一节点4、约束(必须为true)一对一关联测试运行publicvoidtestOneToOneRelation(){Citizencitizen=newCitizen();citizen.setName("Tom");citizen.setAge(20);Cardcard=newCard();card.setCode("65280119820612051");ca
6、rd.setOrganization("JingLiuarea");//相互设置关联citizen.setCard(card);card.setCitizen(citizen);//保存(由于citizen的配置中设置了cascade=“all”属性,因此,可以进行级联保存)Transactiontx=session.beginTransaction();session.save(citizen);//只需从主控方保存即可tx.commit();}跟踪出的sql:1、insertintot_citizen(nam
7、e,age)values(?,?)2、insertintot_card(id,sfzh,fzjh)values(?,?,?)一对一关联的另一种数据存储如何在配置上实现呢???一对一(惟一外键)关联映射文件8、any-to-onename=“card"class="com.demo.model.Card"cascade=“all"unique=“true"column=“card_id"/>映射文件:Citizen.hbm.xml1、一对一节点(多对一特例)2、级联操作3、数据库字段名一对一(惟一外键)关联映射文件
8、any-to-onename=“card"class="com.demo.model.Card"cascade=“all"unique=“true"column=“card_id"/>映射文件:Citizen.hbm.xml1、一对一节点(多对一特例)2、级联操作3、数据库字段名一对一(惟一外键)关联映射文件
此文档下载收益归作者所有