-
使用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版本(越高越好)-->...-->選擇數據庫連接-->.. 它能生成XXX.cfg.xml 文件還能生成HibernateSessionFactory工具類簡化我們的操作查看全部
-
注冊查看全部
-
單項一對多查看全部
-
主鍵最大值加一查看全部
-
映射類型查看全部
-
初始會話工廠查看全部
-
cascade(級聯)屬性查看全部
-
inverse屬性 1.<set>節點的inverse屬性指定關聯關系的控制方向,默認有one方來維護; 2.關聯關系中,inverse="false"則為主動方,由主動方負責維護關聯關系; 3.在一對多關聯中,只能設置one方的inverse為true,這將有助于性能的改善。查看全部
-
//刪除學生信息 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); }查看全部
-
創建持久化類和映射文件并配置單向一對多關系 a.持久化類 1.創建學生持久化類 2.創建班級持久化類(在一方定義一個多方集合) b.配置映射文件 //班級映射文件 <class name="com.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" not-null="true" length="20"></column> </property> <property name="gdesc" type="java.lang.String"> <column name="gdesc"></column> </property> <!-- 配置單向一對多關系 --> <set name="一方實體類定義的多方的引用,即集合屬性students" table="多方的表名Students"> <key column="關聯外鍵的列gid"></key> <one-to-many class="多方實體類的全類名com.entity.Student"></one> </set> </class> //學生映射文件(同上略) //hibernate.cfg.xml中配置 <!-- 指定映射文件 --> <mapping resource="com/entity/Grade.hbm.xml"></mapping> <mapping resource="com/entity/Student.hbm.xml"></mapping>查看全部
-
用于會話的獲取和關閉: 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(); } } }查看全部
-
一對多的關系表示: 1.在數據庫中,可以通過添加主外鍵的關聯,表現一對多的關系 2.在Hibernate中,通過在一方持有多方的集合實現,即在“一”的一端中使用<set>元素表示持有“多”的一端的對象查看全部
-
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查看全部
-
實現單向一對多: 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/150
提交
取消