-
一對多 // 在一對多的一方,定義一個(gè)集合表示多方 private Set<Students> students = new HashSet<Students>(); <set name="students" table="STUDENTS" inverse="false" lazy="true"> <key> <column name="GID" /> </key> <one-to-many class="com.Students" /> </set>查看全部
-
java數(shù)據(jù)類型對應(yīng)的hibernate數(shù)據(jù)類型:查看全部
-
使用MyEclipse反向工程生成映射關(guān)系 1.在MyEclipse中添加數(shù)據(jù)庫連接 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)查看全部
-
MyEclipse 給工程添加hibernate支持 菜單Windws-->Show-->View-->Other,展開MyEclipse Datebase 選擇DB Browser(數(shù)據(jù)庫視圖) 左側(cè)空白右擊,New-->DatebaseDriver 選擇相應(yīng)數(shù)據(jù)庫 給連接命名,指定DB URl-->user /password--> Driver JARs :點(diǎn)擊Add JARS 選擇JAR包 可點(diǎn)擊Test Driver 可勾選save password查看全部
-
課程總結(jié)--常用屬性:查看全部
-
課程總結(jié)--實(shí)現(xiàn)單向多對一:查看全部
-
課程總結(jié)--實(shí)現(xiàn)單向一對多:查看全部
-
cascade屬性: 1、當(dāng)設(shè)置了cascade屬性不為none時(shí),Hibernate會自動持久化所關(guān)聯(lián)的對象; 2、cascade屬性的設(shè)置會帶來性能上的變動,需要謹(jǐn)慎設(shè)置; eg: 說明: 1.在向Grade添加Student后,保存Grade對象時(shí),能不能不需要顯示的保存Student對象,答案是可以的,可以使用級聯(lián)操作:在Grade的映射文件中的<set>節(jié)點(diǎn)添加cascade屬性不為none,為"save-update"; 2.在向Student添加Grade后,保存Student對象時(shí),能不能不需要顯示的保存Grade對象,答案是可以的,可以使用級聯(lián)操作:在Student的映射文件中的<many-to-one>節(jié)點(diǎn)添加cascade屬性不為none,為"save-update".查看全部
-
inverse屬性:用來指定關(guān)聯(lián)關(guān)系的維護(hù) 默認(rèn)為FALSE,則一方為主動方,負(fù)責(zé)維護(hù)關(guān)聯(lián)關(guān)系 在一對多的關(guān)聯(lián)中,可將inverse設(shè)為true,由多方維護(hù)關(guān)聯(lián)關(guān)系,由助于改善性能查看全部
-
雙向一對多映射的建立: 以一對多,多對一的方式配置兩個(gè)持久化類的hbm.xml,讓后用代碼相互添加對方的引用,就行了。 不過這樣,一對多的hbm。xml會多執(zhí)行一次維護(hù)雙方關(guān)系的sql語句,即班級再次設(shè)置學(xué)生的gid。這樣會影響性能。提高性能的方法要用到inverse屬性。查看全部
-
//單向多對一之添加學(xué)生信息 public static void save(){ Grade g=new Grade("Java一班", "Java軟件開發(fā)一班"); Student s1=new Student("小米", "女"); Student s2=new Student("小明","男"); //創(chuàng)建多對一的配置 s1.setGrade(g); s2.setGrade(g); Session session=HibernateUtil.getSession(); Transaction transaction=session.beginTransaction(); session.save(g); session.save(s1); session.save(s2); transaction.commit(); HibernateUtil.closeSession(session); }查看全部
-
單向多對一的配置: 1.在多方持久類定義一方的引用 private Grade grade;并getter,setter 2.在多方的映射文件中添加 <many-to-one name="一方的引用名:grade" class="一方對應(yīng)的持久化類com.imooc.entity.Grade" cloumn="外鍵的列名gid" ></many-to-one>查看全部
-
單向多對一關(guān)聯(lián): (站在學(xué)生的角度看,多個(gè)學(xué)生對應(yīng)一個(gè)班級)查看全部
-
set標(biāo)簽屬性 name:在java類中的set名 table:set元素對應(yīng)的表名 lazy:懶加載 inverse查看全部
-
在"一"保存"多"的集合創(chuàng)建一對多關(guān)系: 1.在插入"一"的數(shù)據(jù)時(shí),首先將"一"的元素(除了建立一對多關(guān)系的集合)添加到對應(yīng)表項(xiàng),然后根據(jù)集合元素到"多"對應(yīng)的表中更新"多"的參照數(shù)據(jù)(集合只用于更新"多"的數(shù)據(jù),而不會作為"一"的數(shù)據(jù)保存) 2.可以直接(不用二次查表)通過"一"得到相應(yīng)的"多",反之不行(導(dǎo)航查詢要注意方向:一到多)查看全部
舉報(bào)
0/150
提交
取消