亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Hibernate初探之一對多映射

  • 打開數據庫視圖的方式; Window-->Show View -->Other
    查看全部
  • 實現單向一對多: 1)在one方的實體中添加保存many方的集合 2)在one方的配置文件中添加<one-to-many>配置 實現單向多對一: 1)在many方的實體中添加one方的引用 2)在many方的配置文件中添加<many-to-one>配置 常用屬性: cascade:設置級聯關系 【all:對所有操作進行級聯操作 save-update:執行保存和更新操作時進行級聯操作 delete:執行刪除操作時進行級聯操作 none:對所有操作不進行級聯操作】 inverse:設置由哪一方維護關聯關系 【inverse="false"則為主動方,由主動方負責維護關聯關系?!?
    查看全部
    0 采集 收起 來源:課程總結

    2018-03-22

  • cascade屬性___表示級聯 當設置了casecade屬性不為none時,Hibernate會自動持久化所關聯的對象 --------------------------------------------------------- cascade屬性的設置會帶來性能上的變動 all:對所有操作進行級聯操作 save-update:執行保存和更新操作時進行級聯操作 delete:執行刪除操作時進行級聯操作 none:對所有操作不進行級聯操作
    查看全部
  • inverse屬性表反轉,是<set>節點的一個屬性(用來指定關聯關系的維護) 該屬性【可以指定關聯關系的方向】, 默認值為false(不反轉) ------------------------------------------------- 關聯關系中,inverse="false"則為主動方,由主動方負責維護關聯關系。 【注】 在一對多關聯中,只能設置one方的inverse為true,這將有助于性能的改善。
    查看全部
  • CDATA 指的是不由 XML 解析器進行解析的文本數據。 CDATA 部分中的所有內容都會被解析器忽略。
    查看全部
  • cascase屬性
    查看全部
  • hibernate4.3的初始化 用于會話的獲取和關閉: public class HibernateUtil { private static SessionFactory sessionFactory; private static Session session; static{ //創建configuration對象,讀取hibernate.cfg.xml文件,完成初始化 Configuration config=new Configuration().configure(); StandardServiceRegistryBuilder ssrb=new StandardServiceRegistryBuilder().applySettings(config.getProperties()); StandardServiceRegistry ssr=ssrb.build(); sessionFactory=config.buildSessionFactory(ssr); } //獲取SessionFactory對象 public static SessionFactory getsessionFactory(){ return sessionFactory; } //獲取Session對象 public static Session getSession(){ return sessionFactory.openSession(); } //關閉Session對象 public static void closeSession(Session session){ if(session!=null){ session.close(); } } }
    查看全部
  • 一對多
    查看全部
  • inverse和cascade屬性 一、inverse屬性 1、一方的hbm.xml文件的<set>節點的inverse屬性指定了關聯關系的控制方向,默認由one方來維護; 2、關聯關系中,inverse="false"則為主動方,由主動方負責維護關聯關系; 3、在一對多關聯中,設置one方的inverse為true,這將有助于性能的改善。 二、級聯(cascade)屬性 配置映射文件: //grade映射文件 <!-- 配置單向一對多關系;設置inverse為true,有多方進行關聯關系的維護; 當保存和更新時自動進行級聯操作--> <set name="stu" table="stu" inverse="true" cascade="save-update"> <!-- 指定關聯的外鍵列 --> <key column="gid"></key> <one-to-many class="com.entity.Student"/> </set> //student映射文件 <many-to-one name="grade" class="com.entity.Grade" column="gid" cascade="all"></many-to-one> 三、測試---信息查詢 public static void findGradeByStudent(){ Session session=HibernateUtil.getSession(); Student s1=(Student)session.get(Student.class, 2); System.out.println(s1.getSid()+","+s1.getSname()+","+s1.getSex()); Grade g=s1.getGrade(); System.out.println(g.getGid()+","+g.getGname()+","+g.getGdesc()); HibernateUtil.closeSession(session); }
    查看全部
  • 多對一關聯配置 一、單向多對一關聯 (1)簡介 1.在己方(多方)表中的一個外鍵參照另一個表的主鍵 2.通過在多方持有一方的引用實現,需要在多方配置<many-to-one> (2)配置 1.在多方持久類定義一方的引用 private Grade grade;并getter,setter 2.在多方的映射文件中添加 <many-to-one name="指定對一方的引用,即一方引用所定義的屬性grade" class="一方對應的持久化類,即關聯實體類com.imooc.entity.Grade" cloumn="外鍵的列名gid" ></many-to-one> (3)測試 public static void save(){ Grade g=new Grade("Java一班", "Java軟件開發一班"); Student s1=new Student("小米", "女"); Student s2=new Student("小明","男"); //創建多對一的配置 s1.setGrade(g); s2.setGrade(g); Session s=HibernateUtil.getSession(); Transaction t=s.beginTransaction(); s.save(g); s.save(s1); s.save(s2); t.commit(); HibernateUtil.closeSession(s); } 二、雙向多對一關聯 (1)分別在持久化類中定義另一方的引用; 一方:private Set<Student>students=new HashSet<Student>();并setter,getter 多方:private Grade grade;并setter,getter; (2)關聯關系配置 //一方 <set name="一方實體類定義的多方的引用,即多方屬性Students" table="多方的表名Students"> <key column="關聯外鍵的列gid"></key> <one-to-many class="多方實體類的全類名com.imooc.entity.Student" ></one> </set> //多方(同上略) (3)測試(同上略)
    查看全部
  • 一、在MyEclipse中添加數據庫連接 1.打開數據庫視圖 Open Perspective-->MyEclipse Database Explorer 或Window-->Show View-->Other-->MyEclipse Database-->DB Browser 2.New Database Connection Driver 二、實現為項目添加Hibernate支持 右擊項目-->MyEclipse-->Add Hibernaet Capabilities-->選擇hibernate版本(越高越好)-->...-->選擇數據庫連接-->... 三、使用MyEclipse反向工程生成映射關系 1.在MyEclipse中添加數據庫連接 2.添加Hibernate支持,生成配置文件 3.反向生成映射:在DB Browser里選中表->Hibernate Reverse Engineering:填寫Java src folder, Java package;勾選Create POJO;勾選Create Data Object,記得去掉Create abstract class;->指定Id Generator->選中表,勾選Include referenced talbes(A->B)和Include referenced talbes(A<-B)
    查看全部
  • hibernate對應數據類型
    查看全部
  • 使用MyEclipse反向工程生成映射關系 1.在MyEclipse中添加數據庫連接 2.添加Hibernate支持,生成配置文件 3.反向生成映射:在DB Browser里選中表->Hibernate Reverse Engineering:填寫Java src folder, Java package;勾選Create POJO;勾選Create Data Object,記得去掉Create abstract class;->指定Id Generator->選中表,勾選Include referenced talbes(A->B)和Include referenced talbes(A<-B)
    查看全部
  • 實現為項目添加Hibernate支持 右擊項目-->MyEclipse-->Add Hibernaet Capabilities-->選擇hibernate版本(越高越好)-->...-->選擇數據庫連接-->...
    查看全部
  • 在MyEclipse中添加數據庫連接 1.打開數據庫視圖 Open Perspective-->MyEclipse Database Explorer 或Window-->Show View-->Other-->MyEclipse Database-->DB Browser 2.創建數據庫連接 New Database Connection Driver
    查看全部

舉報

0/150
提交
取消
課程須知
本課程主要講解Java中Hibernate中的關聯映射,需要對Hibernate基本用法、ORM的基本概念、單表映射等相關知識有一定的基礎。
老師告訴你能學到什么?
1、Hibernate關聯映射的類型 2、單向一對多關聯的配置 3、單向多對一關聯的配置 4、cascade和inverse屬性的作用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!