Professional Documents
Culture Documents
ORM/HIBERNATE
Table
Thực thể SinhVien
SinhVien
❑Để tích hợp Hibernate vào Spring bạn cần cấu hình
3 bean
❖ org.springframework.jdbc.datasource.DriverManagerDataSource
➢Kết nối đến CSDL
❖ org.springframework.orm.hibernate4.LocalSessionFactoryBean
➢Tạo session factory từ kết nối CSDL
❖ org.springframework.orm.hibernate4.HibernateTransactionManager
➢Quản lý transaction
CẤU HÌNH DATASOURCE
ORM/HIBERNATE
Table
Thực thể SinhVien
SinhVien
Thông tin
chuyên ngành
Trường id ánh xạ
với cột tự tăng
Dữ liệu kiểu
thời gian
❑@OneToMany(mappedBy, fetch)
❖mappedBy chỉ ra tên trường thực thể kết hợp
❖fetch chế độ nạp kèm thực thể kết hợp khi thực thể
chính được nạp vào bộ nhớ.
➢FetchType.LAZY: không nạp kèm thực thể kết hợp
➢FetchType.EAGER: nạp kèm thực thể kết hợp
04
Lập trình Hibernate
LẬP TRÌNH HIBERNATE
Đóng session
05
Ngôn ngữ HQL
NGÔN NGỮ HQL
❑Sắp xếp
❖FROM Course ORDER BY startDate DESC, schoolfee
❑Thống kế
❖SELECT AVG(unitPrice), MAX(discount) FROM Product
p GROUP BY p.category
❖SELECT AVG(unitPrice), MAX(discount) FROM Product
p GROUP BY p.category HAVING AVG(unitPrice) >
100
NGÔN NGỮ HQL – TOÁN TỬ
❑Toán tử
❖Số học:+, -, *, /
❖So sánh:=, >=, <=, <>, !=
❖Logic:AND, OR, NOT
❑Toán tử đặc biệt:
❖NOT
❖IN,
❖BETWEEN
❖IS NULL
❖LIKE
❖IS EMPTY
NGÔN NGỮ HQL - HÀM
Bắt Bắt
Qui đầu Qui đầu
trình trình
tác Thao tác
tác
Thao tác
động dữ liệu 1 động dữ liệu 1
dữ dữ
liệu Thao tác liệu Thao tác Rollback
dữ liệu 2 dữ liệu 2
hoàn bị lổi
chỉnh ………… …………
Commit
TRANSACTION
❑ Một transaction được đặc trưng bởi 4 yếu tố
(thường được gọi là ACID):.
1. Atomicity: quy định rằng tất cả các hoạt động của
transaction hoặc là thực thi thành công hết hoặc là
không có bất cứ hành động nào được thực khi có
bất kỳ một hoạt động thực thi không thành công.
X=500 ❖Abort: Tất cả cácY=200
thay đổi của transaction sẽ không được
đồng bộ xuống database.
X=400 ❖Commit: Tất cả các
Y=200
thay đổi của transaction được đồng bộ
xuống database. X=400 Y=200
TRANSACTION
❑ Một
X=50 transaction được đặc trưng bởi 4 yếu tố
– Y=50
(thường được gọi là ACID):.
2. Consistency: tất cả các ràng buộc toàn vẹn dữ
liệu(constraints, key, data types, Trigger, Check)
X=50 phải được thựcY=50
thi thànhX=500 Y=50
công cho mọi transaction
X=500 phát sinh xuống database,
Y=50 nhầm đảm bảo tínhY=0
X=500
X=500 đúng đắn của dữ liệu. X=500
Y=50 Y=0
3. Isolation: đảm bảo các transaction xảy ra xen kẽ
X=500 sẽ không làm ảnhY=50hưởng đến tính nhất quán của
X=500 dữ liệu. Các thay
Y=0đổi dữ liệu bên trong mỗi
Z=500
transaction sẽ được cô lập, các transaction khác
sẽ không thể nhìn thấy cho đến khi nó được đồng
bộ xuống database
TRANSACTION
❑ Một transaction được đặc trưng bởi 4 yếu tố
(thường được gọi là ACID):.
4. Durability: đảm bảo một transaction thực thi thành
công thì tất cả những thay đổi trong transaction
phải được đồng bộ xuống database bất kể cả khi hệ
thống xảy ra lỗi hoặc bị mất điện. Các transaction
thành công nhưng chưa được đồng bộ xuống
database phải được đồng bộ lại khi hệ thống hoạt
động trở lại.
Tóm lược:
❖ Các thuộc tính ACID về cơ bản nó đảm bảo tính đúng
đắn và nhất quán của dữ liệu khi trải qua các
transaction khác nhau. Tuy nhiên các thuộc tính này có
thể sẽ không thể áp dụng với các hệ thống phân tán
đang phát triển rất nhanh trong những năm gần đây,
chúng ta nên tìm hiểu nhiều hơn nữa.