Bài giảng Lập trình Java 4 - Bài 6: Giới thiệu Hibernate Framework

10 14 0
Bài giảng Lập trình Java 4 - Bài 6: Giới thiệu Hibernate Framework

Đang tải... (xem toàn văn)

Thông tin tài liệu

liệu và ngược lại được quản lý bởi các lập trình viên bằng tay Hibernate cung cấp một hệ thống transparent persistence. JDBC chỉ hỗ trợ native Structured Query Language (SQL)[r]

(1)(2)

Nôi dung học

 Hibernate Framework gì?

 Hibernate vs JDBC

 Vòng đời Hibernate

 Các bước sử dụng Hibernate

(3)

Ý tưởng

 Cơ sở liệu thường thiết kế lưu trữ theo hướng

quan hệ

 Tuy nhiên phần mềm thường xây dựng theo hướng

đối tượng

 Đối với lập trình viên xây dựng phần mềm thường

muốn làm việc với đối tượng nhớ đến dòng, cột bảng sở liệu

 JDBC xử lý CSDL lớn chậm (từ 1000 bảng trở lên),

đặc biệt ứng dụng có khả kết nối với nhiều hệ quản trị khác nhau, câu truy vấn hệ quản trị có cú pháp khác

(4)

Hibernate Framework gì?

 Hibernate phát triển Gavin King từ năm 2001,

một ORM framework Java

 Hibernate phần mềm miễn phí

 Hibernate giúp lưu trữ truy vấn liệu quan hệ mạnh

mẽ nhanh, cho phép bạn truy liệu ngôn

(5)

Hibernate Framework gì?

Các thành phần của Hibernate project (các thành phần

thư viện Hibernate)

• Hibernate Core: Cung cấp chức

persistent layer cho ứng dụng java với APIs

hỗ trợ XML Mapping metadata

• Hibernate Annotations: map class với JDK 5.0

Anootations, bao gồm Hibernate Validator

• Hibernate EntityManager : sử dụng EJB 3.0 API JSE

(6)

Hibernate Framework gì?

• Hibernate Tools : tool tích hợp với Eclipse Ant

giúp tạo persistent object từ schema có sẵn

trong database(reverse-engineering) từ file hbm

sinh class java thực persistent object

Hibernate tự tạo tác object database (forward

-engineering)

• NHibernate : Hibernate cho NET Framework

• Jboss Seam : Một Java EE 5.0 framework cho phát triển

các ứng dụng JSF, Ajax EJB 3.0 với hỗ trợ

Hibernate Seam tỏ mạnh để phát triển ứng dụng Web 2.0 Nó tích hợp đầy đủ tất

(7)

So sánh giải pháp JDBC Hibernate

JDBC Hibernate

Với JDBC, lập trình viên phải viết mã để lập đồ liệu mơ hình đối tượng sang liệu mơ hình quan hệ lược

đồ sở liệu tương ứng

Hibernate giải pháp ORM linh hoạt mạnh mẽ để lập đồ lớp Java vào bảng sở liệu Hibernate tự quản lý đồ cách sử dụng tập tin XML, lập trình viên không cần

phải viết mã cho điều

Với JDBC, đồ đối tượng Java với bảng sở

liệu ngược lại quản lý lập trình viên tay Hibernate cung cấp hệ thống transparent persistence JDBC hỗ trợ native Structured Query Language (SQL) Lập trình

viên phải tự tìm cách phù hợp để truy cập sở liệu

Hibernate cung cấp HQL mở rộng ( không phụ thuộc vào kiểu sở liệu ) đồng thời hỗ trợ SQL

Ứng dụng sử dụng JDBC để xử lý liệu liên tục Nếu bảng sở dữ liệu thay đổi lập trình viên phải viết lại mã

Hibernate cung cấp đồ tự động Nếu có thay đổi sở liệu cần sửa file XML

Với JDBC, đệm quản lý mã viết tay

Hibernate, vớiTransparent Persistence, bộđệmđượcđặtvàokhông

(8)

Vòng đời Hibernate

 Class Session Hibernate có số method quan

(9)

Vòng đời Hibernate

 Một đối tượng Hibernate có trạng thái:

Transient (Tạm thời)

Persistent (Bền vững)

Removed (Đã bị xóa - DB)

(10)

Vòng đời Hibernate

 Trường hợp bạn tạo đối tượng java từ Entity, đối tượng

có tình trạng Transient Hibernate khơng biết tồn Nó nằm ngồi quản lý Hibernate

 Trường hợp bạn lấy đối tượng Entity method get, load find,

bạn có đối tượng tương ứng với record database Đối tượng có trạng thái Persistent Nó quản lý Hibernate

 Session gọi method save,saveOrUpdate, persist, merge

đẩy đối tượng Transient vào quản lý Hibernate đối tượng chuyển sang trạng thái Persistent Tùy tình insert update liệu vào DB

 Session gọi evict( ) clear() để đuổi đối tượng có trạng thái

persistent (bền vững) khỏi quản lý Hibernate, đối tượng có trạng thái Detected (Bị tách ra) Nếu khơng đính (Attached) trở lại, bị gom rác Java quét theo chế thông thường

 Sử dụng update( ), saveOrUpdate( ), merge( ) đính trở lại đối

tượng Detached vào lại Tùy tình tạo DB câu lệnh update insert Các đối tượng trở trạng thái Persistent (bền vững)

 Session gọi method remove( ), delete( ) để xóa ghi, đối tượng

Ngày đăng: 11/03/2021, 14:52

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan