-
映射分四種類型,一對多 多對一 一對一 多對多查看全部
-
cascade屬性查看全部
-
單向多對一關聯查看全部
-
映射的類型查看全部
-
表示一對多:查看全部
-
映射分四種類型,一對多 多對一 一對一 多對多 主要為前兩種查看全部
-
MyEclipse怎樣快捷創建hibernate相關配置查看全部
-
------------------------- MyEclipse 添加hibernate支持 工程-右擊-MyEclipse->Add Hibernate Capabilities: 選擇Hibernate版本(MyEclipse版本越高,支持的Hibernate版本也越高,盡量選擇新版本) 根據需要選擇相應的JAR包::(1)添加JAR包 next-->創建hibernate.cfg.xml(指定目錄) :(2)添加核心配置文件 next-->選擇數據庫連接 next-->創建Hibernate工具類,用于獲取session或者sessionFactory(Java package 新建)??? :(3)添加工具類 finish ------------------------- MyEclipse 反向工程:根據數據庫中的表 自動創建持久化類和映射文件文件 1)創建包entity 用于保存持久化類 2)數據庫視圖 CTRL 選擇復數表-右擊-Hibernate Reverse Engineering(反向工程) 指定Java src folder目錄 指定持久化類和映射文件保存位置, 勾選Create POJO<>DB Table mapping information創建映射文件 ?。ü催xcreate a Hibernate mapping file (*.hbm.xml)for each datebase table) ? (勾選Update Hibernate configuration with mapping resource location) 勾選Java Date Object (POJO<> DB Table) :創建實體類 注意:Create abstract class 不勾選(不需要) NEXT ->Hibernate Mapping and Application Generation : Id Generator:選擇主鍵生成策略(例子中是increment) NEXT->選擇表 勾選:Include referenced tables(A->B),Include referenced tables(A<-B) finish.切換回企業開發視圖查看全部
-
MyEclipse 給工程添加hibernate支持 菜單Windws-->Show-->View-->Other,展開MyEclipse Datebase 選擇DB Browser(數據庫視圖) 左側空白右擊,New-->DatebaseDriver 選擇相應數據庫 給連接命名,指定DB URl-->user /password--> Driver JARs :點擊Add JARS 選擇JAR包 可點擊Test Driver 可勾選save password查看全部
-
===cascade屬性===================================== cascade美 [k??sked]? n.串聯;傾瀉;小瀑布,瀑布狀物??? vi.??? 流注;大量落下 ·當設置了cascade屬性不為none時,Hibernate會自動持久化所關聯的對象 cascade屬性的設置會帶來性能上的變動,需謹慎設置 屬性值 ?。骸 『x和作用 all ? 對所有操作進行級聯操作 save-update???? 執行保存和更新操作時進行級聯操作 delete ?? 執行刪除操作時操作時進行級聯操作 none 對所有操作不進行級聯操作 //保存 //設置關聯關系 ??g.getStudents().add(stu1); ??g.getStudents().add(stu2); ??stu1.setGrade(g); ??stu2.setGrade(g); ? ??Session session=HibernateUtil.getSession(); ??Transaction tx=session.beginTransaction(); ??session.save(g);//級聯操作 ??//session.save(stu1); ??//session.save(stu2); <!-- 配置一對多關聯關系 設置inverse屬性為true,由多方負責維護關聯關系--> ??<set name="students" table="student" inverse="true" cascade="save-update"> ???<key column="gid"></key> ???<one-to-many class="com.imooc.entity.Student"/> ??</set> 例子:也可在學生端級聯 ??//session.save(g); ??session.save(stu1); ??session.save(stu2); 多方: <!-- 配置多對一關聯關系 --> ??<many-to-one name="grade" class="com.imooc.entity.Grade" column="gid" cascade= "all"></many-to-one>查看全部
-
?//保存 ?public static void save(){ ??Grade g=new Grade("Java一班","Java軟件開發一班"); ??Student stu1=new Student("慕女神", "女"); ??Student stu2=new Student("小慕慕", "男"); ?? ??//設置關聯關系 ??g.getStudents().add(stu1); ??g.getStudents().add(stu2); ??stu1.setGrade(g); ??stu2.setGrade(g); ?? ??Session session=HibernateUtil.getSession(); ??Transaction tx=session.beginTransaction(); ??session.save(g); ??session.save(stu1); ??session.save(stu2); ??tx.commit(); ??HibernateUtil.closeSession(session);查看全部
-
單向多對一關聯 ·多對一的關系和關系數據庫中的外鍵參照關系最匹配,即在己方的表中的一個外鍵參照另一個表的主鍵 ·通過在多方持有一方的引用實現,需要在“多”端的一端使用<many to one> 配置?? <!-- 配置多對一關聯關系 --> ??<many-to-one name="grade" class="com.imooc.entity.Grade" column="gid" cascade="all"></many-to-one> ?</class>查看全部
-
·多對一的關系和關系數據庫中的外鍵參照關系最匹配,即在己方的表中的一個外鍵參照另一個表的主鍵 ·通過在多方持有一方的引用實現,需要在“多”端的一端使用<many to one> 配置查看全部
-
屬性 ?? 含義和作用 ??????? 必須? 默認值 name?? ?映射類屬性的名稱 ?? ??? ?Y table???? 關聯類的目標數據庫表 ?N lazy?????? 指定關聯對象是否使用延遲加載?N??? proxy inverse?? 表示雙向關聯中被動的一方????? N??? false查看全部
-
?實體化類文件夾一般叫entity,遵循javabean:實現implements Serializable接口 public class?Grade implements Serializable { private int gid; private String gname; private String gdesc; //一方持有多方的集合 private Set<Student> students = new HashSet<Student>();//set 元素不可重復無順序 } <hibernate-mapping> <class name="XX.entity.Grade" table="grade"> ? <id name="gid" column="gid" type="java.lang.Integer"> ?? <generator class="increment"></generator> ? ?</id> ? ?<property name="gname" type="java.lang.String"> ?? ? <column name="gname" length="20" not-null="true"></column> ?? </property> ? ?<property name="gdesc"> ?? ?<column name="gdesc"></column> ?? </property> ? ?<!-- 配置一對多關聯關系 --> ? ?<set name="students" table="student"> ? ? <!-- 指定關聯的外鍵列 --> ?? ? <key column="gid"></key> ?? ? <one-to-many class="XX.Student"/> ?? </set> ? </class> hibernate.cfg.xml ??? ?<!-- 指定映射文件的路徑 --> ??? ?<mapping resource="com/imooc/entity/Grade.hbm.xml"/> ??? ?<mapping resource="com/imooc/entity/Student.hbm.xml"/>查看全部
舉報
0/150
提交
取消