Bài giảng Chuyên đề Java: Chương 4 - Nguyễn Hoàng Anh
lượt xem 10
download
Bài giảng "Chuyên đề Java - Chương 4: Hibernate mapping One - To - One" cung cấp cho người học các kiến thức: One to one, Lazy, Fetch, Cascade. Đây là một tài liệu hữu ích dành cho các các bạn sinh viên Công nghệ Thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Chuyên đề Java: Chương 4 - Nguyễn Hoàng Anh
- CHUYÊN ĐỀ JAVA HIBERNATE MAPPING ONE-TO-ONE Nguyễn Hoàng Anh Email: nhanh@fit.hcmus.edu.vn hoanganhis@gmail.com ĐH KHTN, 2011 Upload by Cafeitvn.com
- Nội dung trình bày One to one Lazy Fetch Cascade 2 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Quan hệ một-một (one-to-one) 1 1 A B A B PK IDA PK IDB ... ... FK1 + UNIQUE IDA ... 3 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Quan hệ một-một (one-to-one) Trong ứng dụng quản lý sinh viên – Mỗi sinh viên có một giấy chứng minh nhân dân – Mỗi chứng minh nhân dân thuộc về một sinh viên Mối quan hệ giữa sinh viên và chứng minh nhân dân là mối quan hệ một-một (one-to-one) 4 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Quan hệ một-một (one-to-one) 1 1 Sinhvien ChungMinhNhanDan SinhVien UNIQUE KEY ChungMinhNhanDan 5 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Quan hệ một-một (one-to-one) SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String - chungMinhNhanDan:ChungMinhNhanDan - hoTen :String - ngaySinh :Date - diaChiThuongTru : String - nguyenQuan :String - danToc :String - dauVetRiengVaDiHinh :String - ngayCap :Date - noiCap :String - sinhVien :SinhVien UNIQUE KEY 6 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String SinhVien POJO - chungMinhNhanDan:ChungMinhNhanDan - hoTen - ngaySinh :Date :String - diaChiThuongTru : String - nguyenQuan :String 1 package pojo; - danToc :String 2 public class SinhVien implements java.io.Serializable { - dauVetRiengVaDiHinh :String - ngayCap :Date 3 - noiCap :String 4 private String maSinhVien; - sinhVien :SinhVien 5 private ChungMinhNhanDan chungMinhNhanDan; 6 7 public SinhVien() { 8 } 9 10 public SinhVien(String maSinhVien) { 11 this.maSinhVien = maSinhVien; 12 } 13 public SinhVien(String maSinhVien, 14 ChungMinhNhanDan chungMinhNhanDan) { 15 this.maSinhVien = maSinhVien; 16 this.chungMinhNhanDan = chungMinhNhanDan; 17 } 18 //Các phương thức get/set 19 } 7 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String CMND POJO - chungMinhNhanDan:ChungMinhNhanDan - hoTen - ngaySinh :Date :String - diaChiThuongTru : String - nguyenQuan :String 1 package pojo; - danToc :String 2 public class ChungMinhNhanDan - dauVetRiengVaDiHinh :String - ngayCap :Date 3 implements java.io.Serializable { - noiCap :String 4 private String soCmnd; - sinhVien :SinhVien 5 private String hoTen; 6 private Date ngaySinh; 7 private String diaChiThuongTru; 8 private String nguyenQuan; 9 private String danToc; 10 private String dauVetRiengVaDiHinh; 11 private Date ngayCap; 12 private String noiCap; 13 private SinhVien sinhVien; 14 15 //Các phương thức khởi tạo 16 //Các phương thức get/set 17 } 8 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Quan hệ một-một (one-to-one) Mapping mối quan hệ một-một giống như mapping trong mối quan hệ nhiều-một – Nhưng thêm thuộc tính unique="true“ Có thể khai báo sử dụng thuộc tính – Lazy – Fetch – cascade 9 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String SinhVien.hbm.xml - chungMinhNhanDan:ChungMinhNhanDan - hoTen - ngaySinh :Date :String - diaChiThuongTru : String - nguyenQuan :String 1 - danToc :String 2 - noiCap :String 4 - sinhVien :SinhVien 5 6 7 8 11 12 13 14 15 UNIQUE KEY 10 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String CMND.hbm.xml - chungMinhNhanDan:ChungMinhNhanDan - hoTen - ngaySinh :Date :String - diaChiThuongTru : String - nguyenQuan :String 1 - danToc :String 2 - sinhVien :SinhVien 5 6 7 8 9 . . . 10 13 14 15 UNIQUE KEY 11 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO 1 public class SinhVienDAO { 2 public static List layDanhSachSinhVien() { 3 List ds = null; 4 Session session = HibernateUtil.getSessionFactory() 5 .openSession(); 6 try { 7 String hql = "select sv from SinhVien sv"; 8 Query query = session.createQuery(hql); 9 ds = query.list(); 10 } catch (HibernateException ex) { 11 System.err.println(ex); 12 } finally { 13 session.close(); 14 } 15 return ds; 16 } 17 . . . 18 } 12 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String SinhVien.hbm.xml - chungMinhNhanDan:ChungMinhNhanDan - hoTen - ngaySinh :Date :String - diaChiThuongTru : String - nguyenQuan :String 1 - danToc :String 2 - noiCap :String 4 - sinhVien :SinhVien 5 6 7 8 11 12 13 14 15 UNIQUE KEY 13 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Main – lấy danh sách sinh viên 1 public class Main { 2 3 public static void main(String[] args) { 4 5 List ds=SinhVienDAO.layDanhSachSinhVien(); 6 for(int i=0; i
- SinhVienDAO 1 public class SinhVienDAO { 2 . . . 3 public static SinhVien layThongTinSinhVien( 4 String maSinhVien) { 5 SinhVien sv = null; 6 Session session = HibernateUtil.getSessionFactory(). 7 openSession(); 8 try { 9 sv =(SinhVien)session.get(SinhVien.class, maSinhVien); 10 } catch (HibernateException ex) { 11 System.err.println(ex); 12 } finally { 13 session.close(); 14 } 15 return sv; 16 } 17 . . . 18 } 15 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String SinhVien.hbm.xml - chungMinhNhanDan:ChungMinhNhanDan - hoTen - ngaySinh :Date :String - diaChiThuongTru : String - nguyenQuan :String 1 - danToc :String 2 - noiCap :String 4 - sinhVien :SinhVien 5 6 7 8 11 12 13 14 15 UNIQUE KEY 16 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Main – lấy thông tin sinh viên 1 public class Main { 2 3 public static void main(String[] args) { 4 5 SinhVien v=null; 6 sv=SinhVienDAO.layThongTinSinhVien("0712222"); 7 . . . 8 } 9 } 17 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO 1 public static boolean themSinhVien(SinhVien sv) { 2 Session session = HibernateUtil.getSessionFactory().openSession(); 3 if (SinhVienDAO.layThongTinSinhVien(sv.getMaSinhVien()) != null) { 4 return false; 5 } 6 boolean kq = true; 7 Transaction transaction = null; 8 try { 9 transaction = session.beginTransaction(); 10 session.save(sv); 11 transaction.commit(); 12 } catch (HibernateException ex) { 13 transaction.rollback(); 14 System.err.println(ex); 15 kq = false; 16 } finally { 17 session.close(); 18 } 19 return kq; 20 } 18 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien ChungMinhNhanDan 1 1 - maSinhVien:String - soCMND :String SinhVien.hbm.xml - chungMinhNhanDan:ChungMinhNhanDan - hoTen - ngaySinh :Date :String - diaChiThuongTru : String - nguyenQuan :String 1 - danToc :String 2 - noiCap :String 4 - sinhVien :SinhVien 5 6 7 8 11 12 13 14 15 UNIQUE KEY 19 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Main – thêm sinh viên cùng cmnd 1 public class Main { 2 public static void main(String[] args) { 3 SinhVien sv=new SinhVien(); sv.setMaSinhVien("0312555"); 4 ChungMinhNhanDan cmnd=new ChungMinhNhanDan(); 5 cmnd.setSoCmnd("444555666"); 6 cmnd.setHoTen("T? T?n Thêm"); 7 cmnd.setDiaChiThuongTru("140 Quốc Lộ 53 Càng Long-Trà Vinh"); 8 cmnd.setNguyenQuan("V?nh Long"); 9 Calendar c=Calendar.getInstance(); 10 c.set(1984, 6, 22); 11 cmnd.setNgaySinh(c.getTime()); 12 c.set(2001, 4, 18); 13 cmnd.setNgayCap(c.getTime()); 14 cmnd.setDanToc("Kinh"); 15 cmnd.setDauVetRiengVaDiHinh("Sẹo 3cm trên mắt trái"); 16 cmnd.setNoiCap("Trà Vinh"); 16 sv.setChungMinhNhanDan(cmnd); 18 boolean kq=SinhVienDAO.themSinhVien(sv); 19 } 20 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
CÓ THỂ BẠN MUỐN DOWNLOAD
-
BÀI GIẢNG LẬP TRÌNH JAVA - HUỲNH CÔNG PHÁP
239 p | 263 | 85
-
Bài giảng: Giới thiệu về Package
35 p | 157 | 38
-
Bài giảng Chuyên đề Java: Chương 1 - Nguyễn Hoàng Anh
17 p | 139 | 17
-
Bài giảng Chuyên đề Java: Chương 2 - Nguyễn Hoàng Anh
27 p | 83 | 12
-
Bài giảng Chuyên đề Java: Chương 3 - Nguyễn Hoàng Anh
36 p | 97 | 12
-
Bài giảng Chuyên đề Java: Chương 6 - Nguyễn Hoàng Anh
27 p | 116 | 11
-
Bài giảng Chuyên đề Java: Chương 5 - Nguyễn Hoàng Anh
23 p | 89 | 11
-
Bài giảng Lập trình Java: Chương 3 - Java cơ bản (TT)
9 p | 91 | 6
-
Bài giảng Lập trình Java 1 - Bài 2: Kiểu, toán tử, lệnh if, switch
33 p | 46 | 5
-
Bài giảng Lập trình Java: Chương 2 - Java cơ bản
20 p | 88 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn