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

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

Hibernate初探之一對多映射

  • //刪除學生信息 public static void delete(){ //獲取對話 Session session=HibernateUtil.getSession(); // 開啟事務 Transaction tx=session.beginTransaction(); //獲取學生信息2 Student stu=(Student) session.get(Student.class, 2); //刪除學生 如果修改,先創建班級信息g,在將獲得的學生信息添加最后 保存session.save(g); session.delete(stu); //提交事務 tx.commit(); //關閉事物 HibernateUtil.closeSession(session); } //修改學生信息 public static void update(){ Grade g=new Grade("Java二班","Java軟件開發二班"); Session session=HibernateUtil.getSession(); Transaction tx=session.beginTransaction(); Student stu=(Student) session.get(Student.class, 1); g.getStudents().add(stu); session.save(g); tx.commit(); HibernateUtil.closeSession(session); }
    查看全部
  • 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(); } } }
    查看全部
  • 根據Myeclipse中的數據庫的視圖,選擇對應的表,然后指定項目的位置,根據表信息生成對應的實體類。在Java視圖中可以看到完整的實體類的信息以及hibernate.cfg.xml中的信息所指定的映射文件的位置。
    查看全部
  • cascade屬性設為all時,所有操作都級聯; 設為save-update時,在保存和更新時級聯; 設為delete時,在刪除時級聯; 設為none時,所有操作都不級聯。
    查看全部
  • hibernate cfg 數據庫配置
    查看全部
  • 請輸入筆記內容...
    查看全部
  • 級聯屬性cascade
    查看全部
  • cascade屬性
    查看全部
  • 一對多的配置
    查看全部
  • set元素的常用屬性
    查看全部
  • set元素的常用屬性
    查看全部
  • 配置hibernate文件的關聯映射
    查看全部
  • 如何配置hibernate
    查看全部
  • nverse和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); }
    查看全部
  • cascade屬性: 1、當設置了cascade屬性不為none時,Hibernate會自動持久化所關聯的對象; 2、cascade屬性的設置會帶來性能上的變動,需要謹慎設置; ———————————————————————————— 屬性值 含義和作用 all 對所有操作進行級聯操作 save-update 執行保存和更新操作時進行級聯操作 delete 執行刪除時進行級聯操作 none 對所有操作不進行級聯操作 ———————————————— 說明:舉個栗子,見截圖: 在向Grade添加Student后,保存Grade對象時,能不能不需要顯示的保存Student對象,答案是可以的,可以使用級聯操作:在Grade的映射文件中的<set>節點添加cascade屬性不為none,為"save-update". [ 收起全文 ] 04:08看截
    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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