Bài giảng Chuyên đề Java: Chương 6 - Nguyễn Hoàng Anh
lượt xem 11
download
Bài giảng "Chuyên đề Java - Chương 6: Hibernate mapping Many - to - Many" trình bày các nội dung: Các mối quan hệ nhiều - Nhiều, many to many, Lazy Initialization, 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 6 - Nguyễn Hoàng Anh
- CHUYÊN ĐỀ JAVA HIBERNATE MAPPING MANY-TO-MANY Nguyễn Hoàng Anh Email: nhanh@fit.hcmus.edu.vn ĐH KHTN, 2011 Upload by Cafeitvn.com
- Nội dung trình bày One to many Lazy Initialization Fetch Cascade 2 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Mối quan hệ nhiều-nhiều (many-to-many) * * A B AB PK IDA (FK) A PK IDB (FK) B PK IDA PK IDB ... ... ... ... 3 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Mối quan hệ nhiều-nhiều (many-to-many) Trong ứng dụng đăng ký học phần – Mỗi sinh viên có thể đăng ký nhiều khóa học – Mỗi khóa học có thể có nhiều sinh viên đăng ký học Mối quan hệ hướng từ sinh viên đến khóa học và ngược lại gọi là mối quan hệ nhiều – nhiều(many-to-many) 4 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Many to many SinhVien KhoaHoc 1 * - maSinhVien :String * 1 - maKhoaHoc :String - tenSinhVien :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String - khoaHocs : Set 5 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Many to many SinhVien KhoaHoc 1 * - maSinhVien :String * 1 - maKhoaHoc :String - tenSinhVien :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String - khoaHocs : Set 6 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien KhoaHoc 1 * SinhVien POJO - maSinhVien :String - tenSinhVien :String * 1 - maKhoaHoc :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String 1 public class SinhVien implements java.io.Serializable { - khoaHocs : Set 2 3 4 private String maSinhVien; 5 private String tenSinhVien; 6 private String email; 7 private String diaChi; 8 private Set khoahocs = new HashSet(0); 9 10 // Các phương thức khởi tạo 11 . . . 12 // Các phương thức get/set 13 . . . 7 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien KhoaHoc 1 * - maSinhVien :String SinhVien.hbm.xml - tenSinhVien :String * 1 - maKhoaHoc :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String 1 - khoaHocs : Set 2 4 . . . 5 7 8 9 10 11
- SinhVien KhoaHoc 1 * KhoaHoc POJO - maSinhVien :String - tenSinhVien :String * 1 - maKhoaHoc :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String 1 public class KhoaHoc implements java.io.Serializable { - khoaHocs : Set 2 3 4 private String maKhoaHoc; 5 private String tenKhoaHoc; 6 private Set sinhviens = 7 new HashSet(0); 8 9 // Các phương thức khởi tạo 10 . . . 11 // Các phương thức get/set 12 . . . 9 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien KhoaHoc 1 * - maSinhVien :String SinhVien.hbm.xml - tenSinhVien :String * 1 - maKhoaHoc :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String 1 - khoaHocs : Set 2 4 . . . 5 7 8 10 11 12 14 15 16 17 10 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO – lấy thông tin sinh viên 1 public class SinhVienDAO { 2 public static SinhVien layThongTinSinhVien(String maSinhVien) 3 { 4 SinhVien sv = null; 5 Session session = HibernateUtil.getSessionFactory() 6 .openSession(); 7 try { 8 sv =(SinhVien) session.get(SinhVien.class, maSinhVien); 9 } catch (HibernateException ex) { 10 System.err.println(ex); 11 } finally { 12 session.close(); 13 } 14 return sv; 15 } 11 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO – lấy thông tin sinh viên 1 public class Main { 2 public static void main(String[] args) { 3 SinhVien sv=SinhVienDAO.layThongTinSinhVien("0312143"); 4 System.out.println(sv.getMaSinhVien()); 5 System.out.println(sv.getTenSinhVien()); 6 System.out.println(sv.getEmail()); 7 System.out.println(sv.getDiaChi()); 8 Iterator khoaHocs=sv.getKhoahocs().iterator(); 9 while(khoaHocs.hasNext()){ 10 KhoaHoc kh=khoaHocs.next(); 11 System.out.println(kh.getMaKhoaHoc()); 12 System.out.println(kh.getTenKhoaHoc()); 13 } 14 } 15 } 12 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO – lấy thông tin sinh viên Lazy = true 13 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- Lazy Initialization Trong Hibernate, Lazy Initialization giúp – Tránh các câu truy vấn cơ sở dữ liệu không cần thiết – Gia tăng hiệu suất thực thi – Lazy mặc định có giá trị là true 14 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien KhoaHoc 1 * - maSinhVien :String SinhVien.hbm.xml - tenSinhVien :String * 1 - maKhoaHoc :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String 1 - khoaHocs : Set 2 4 . . . 5 13 14 15 16 15 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO – lấy thông tin sinh viên 1 public class Main { 2 public static void main(String[] args) { 3 SinhVien sv=SinhVienDAO.layThongTinSinhVien("0312143"); 4 System.out.println(sv.getMaSinhVien()); 5 System.out.println(sv.getTenSinhVien()); 6 System.out.println(sv.getEmail()); 7 System.out.println(sv.getDiaChi()); 8 Iterator khoaHocs=sv.getKhoahocs().iterator(); 9 while(khoaHocs.hasNext()){ 10 KhoaHoc kh=khoaHocs.next(); 11 System.out.println(kh.getMaKhoaHoc()); 12 System.out.println(kh.getTenKhoaHoc()); 13 } 14 } 15 } 16 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO – lấy thông tin sinh viên Lazy = false 17 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVien KhoaHoc 1 * - maSinhVien :String SinhVien.hbm.xml - tenSinhVien :String * 1 - maKhoaHoc :String - tenKhoaHoc :String - email :String - sinhViens :Set - diaChi :String 1 - khoaHocs : Set 2 4 . . . 5 7 8 9 10 11
- SinhVienDAO – lấy thông tin sinh viên 1 public class SinhVienDAO { 2 public static SinhVien layThongTinSinhVien(String maSinhVien) 3 { SinhVien sv = null; 4 Session session = HibernateUtil.getSessionFactory() 5 .openSession(); 6 try { 7 String hql= " select sv "; 8 hql +="from SinhVien sv left join fetch sv.khoahocs"; 9 hql += " where sv.maSinhVien=:maSinhVien"; 10 Query query = session.createQuery(hql); 11 query.setString("maSinhVien", maSinhVien); 12 sv = (SinhVien) query.uniqueResult(); 13 } catch (HibernateException ex) { 14 System.err.println(ex); 15 } finally { 16 session.close(); 17 } 18 return sv; 19 } 19 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011
- SinhVienDAO – lấy thông tin sinh viên 1 public class Main { 2 public static void main(String[] args) { 3 SinhVien sv=SinhVienDAO.layThongTinSinhVien("0312143"); 4 System.out.println(sv.getMaSinhVien()); 5 System.out.println(sv.getTenSinhVien()); 6 System.out.println(sv.getEmail()); 7 System.out.println(sv.getDiaChi()); 8 Iterator khoaHocs=sv.getKhoahocs().iterator(); 9 while(khoaHocs.hasNext()){ 10 KhoaHoc kh=khoaHocs.next(); 11 System.out.println(kh.getMaKhoaHoc()); 12 System.out.println(kh.getTenKhoaHoc()); 13 } 14 } 15 } 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
-
Đề cương bài giảng Java cơ sở
193 p | 461 | 261
-
BÀI GIẢNG LẬP TRÌNH JAVA - HUỲNH CÔNG PHÁP
239 p | 262 | 84
-
Đề cương bài giảng Java cơ sở - Chương 1
51 p | 179 | 53
-
Bài giảng: Giới thiệu về Package
35 p | 156 | 38
-
Bài giảng Chuyên đề Java: Chương 1 - Nguyễn Hoàng Anh
17 p | 138 | 17
-
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 2 - Nguyễn Hoàng Anh
27 p | 82 | 12
-
Bài giảng Chuyên đề Java: Chương 5 - Nguyễn Hoàng Anh
23 p | 88 | 11
-
Bài giảng Chuyên đề Java: Chương 4 - Nguyễn Hoàng Anh
23 p | 102 | 10
-
Bài giảng Lập trình Java: Chương 3 - Java cơ bản (TT)
9 p | 88 | 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 | 83 | 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