Danh mục tài liệu

Tổng quan về Hibernate

Số trang: 11      Loại file: doc      Dung lượng: 62.50 KB      Lượt xem: 15      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Hibernate 3.0, một công nghệ mới nhất trong nền tảng cốt lỗi của J2EE EJB 3.0. Hibernate là một framework cho persistence layer, là một dịch vụ lưu trữ và truy vấn dữ liệu quan hệ mạnh mẽ và nhanh chóng. Hibernate giúp người phát triển các class dùng để lưu trữ dữ liệu theo cách thức hướng đối tượng: association, inheritance, polymorphism, composition và collections. Hibernate cho phép thực hiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng của Hibernate (HQL) hoặc là ngôn ngữ SQL nguyên thuỷ cũng như...
Nội dung trích xuất từ tài liệu:
Tổng quan về Hibernate I) Tổng quan về HibernateHibernate 3.0, một công nghệ mới nhất trong nền tảng cốt lỗi của J2EE EJB3.0.Hibernate là một framework cho persistence layer, là một dịch vụ lưu trữ và truyvấn dữ liệu quan hệ mạnh mẽ và nhanh chóng. Hibernate giúp người phát triểncác class dùng để lưu trữ dữ liệu theo cách thức hướng đối tượng: association,inheritance, polymorphism, composition và collections. Hibernate cho phép thựchiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng củaHibernate (HQL) hoặc là ngôn ngữ SQL nguyên thuỷ cũng như là sử dụng cácAPI. Không giống như các persistence layer khác, Hibernate không ẩn đi sứcmạnh của ngôn ngữ SQL thuần túy mà Hibernate còn đảm bảo cho người pháttriển đầu tư vào công nghệ và tri thức cơ sở dữ liệu quan hệ là luôn luôn chínhxác. Và điều quan trọng hơn nữa là Hibernate được license theo LGPL (LesserGNU Public License). Theo đó, bạn có thể thoải mái sử dụng Hibernate trong cácdự án open source hoặc các dự án thương mại (commercial).Các tính năng của Hibernate: * Hibernate 3.0 cung cấp ba đầy đủ tính năng tiện truy vấn: Hibernate QueryLanguage, Hibernate Criteria Query API và các truy vấn tự nhiên. * Bộ lọc để làm việc với dữ liệu tạm thời ,vùng dữ liệu hoặc các dữ liệuđược phân quyền * Nâng cao khả năng truy vấn với API: với sự hỗ trợ đầy đủ cho các phépchiếu ,phép kết hợp và phép chọn. * Kiểm soát được thời gian chạy: thông qua JMX hoặc Java API, bao gồm cảbộ đệm trình duyệt ở mức thứ cấp. * Hỗ trợ IDE Eclipse, bao gồm một bộ Eclipse plug-in để làm việc vớiHibernate 3.0, bao gồm biên tập liên kết, tương tác với mẫu truy vấn, công cụnhận lại cấu trúc cơ sở dữ liệu. * Hibernate là miễn phí theo LGPL: Hibernate có thể được dùng để phát triểnphân phối các ứng dụng miễn phí. * Hibernate có thể mở rộng: Hibernate mang lại hiệu năng cao và kiến trúc 2lớp của nó có thể được sử dụng trong môi trường tập trung. * Giảm thời gian phát triển ứng dụng: Hibernate làm giảm thời gian phát triểncác ứng dụng vì nó hỗ trợ thừa kế, đa hình, thành phần và các framework trongjava. * Hibernate XML cho phép liên kết dữ liệu được biểu diễn như XML vàPOJOs thay thế cho nhau. II) Kiến Trúc Hibernate Sơ đồ trên cho thấy rằng Hibernate là sử dụng cơ sở dữ liệu và file cấu hình để cung cấp các dịch vụ lâu dài cho ứng dụng.Để sử dụng Hibernate, sự cần thiết phải tạo ra các lớp Java biểu diễn chobảng tương ứng trong cơ sở dữ liệu và sau đó ánh xạ các thuộc tính của lớpvới các cột của bảng trong cơ sở dữ liệu. Sau đó, Hibernate có thể được sửdụng để thực hiện các thao tác trên cơ sở dữ liệu như chèn, chọn, cập nhật vàxóa các bản ghi trong bảng. Hibernate tự động tạo ra các truy vấn để thực hiệncác thao tác này.Kiến trúc Hibernate có ba thành phần chính: * Quản lý kết nối Hibernate cung cấp dịch vụ quản lý kết nối cơ sở dữ liệu hiệu quả. Kếtnối cơ sở dữ liệu là phần tốn kém tài nguyên và hiệu năng nhất trong việctương tác với cơ sở dữ liệu vì nó đòi hỏi nhiều tài nguyên phải mở và đóngkết nối cơ sở dữ liệu. * Quản lý giao dịch: Quản lý dịch vụ giao dịch cung cấp khả năng người sử dụng để thực hiệnnhiều hơn một câu lệnh tại một thời điểm. * Đối tượng bản đồ quan hệ: Đối tượng bản đồ quan hệ là kỹ thuật lập ánh xạ biểu diễn dữ liệu từ mộtmô hình đối tượng cho đến một mô hình dữ liệu quan hệ. Đối tượng này đượcsử dụng đê thực hiện các thao tác như truy vấn ,thêm mới, cập nhật và xóa cácbản ghi dạng bảng bên dưới.Hibernate là rất tốt công cụ như xa như là đốitượng bản đồ quan hệ là mối quan tâm, nhưng về mặt quản lý kết nối vàquản lý giao dịch, đó là thiếu hiệu năng và khả năng. Vì vậy, thường Hibernateđược sử dụng để quản lý kết nối khác và các công cụ quản lý giao dịch. Ví dụapache DBCP được sử dụng để kết nối tổng hợp với Hibernate.Hibernate cung cấp rất nhiều tính linh hoạt trong sử dụng. Nó được gọi là kiếntrúc Lite khi chúng ta chỉ sử dụng các thành phần đối tượng bản đồ quan hệ.Trong khi kiến trúc Full Cream tất cả trong ba thành phần đối tượng quan hệ lập bản đồ, quản lý kết nối và Quản lý giao dịch được sử dụng. III) Thành phần của ứng dụng Hibernate Các ORM framework mang đến cho các developer những tư duy trong khái niệm về quan hệ trong khi vẫn làm việc với các lớp. Có nhiều framework mang mục đích này. Những gì làm cho Hibernate khác với những framework khác chính là tính đơn giản và khả chuyển của nó. Để tạo nên ứng dụng Hibernate, có ba điều cần phải có, đó là:1. Persistence Class:Persistence class là một Plain Old Java Object hay POJO model. Một POJO làtương tự như một JavaBean, có những getter và setter để truy câp các thuộc tínhcủa nó là những instance variable (biến thực thể). Persistence class có những đặcđiểm dưới đây: Nó là thay thế hướng đối tượng cho bảng ở cơ sở dữ liệu Các thuộc tính của bảng trở thành những instance variable của persistence class. Kiểu dữ liệu của các instance variable là domain của các thuộc tính. Đối tượng của persistence class thay hế cho hàng của bảng.2. Mapping file:Mapping file là một file XML chứa ánh xạ chi tiết giữa persistence class và bảngnó thay thế. Các thành phần bắt buộc của file XML này là: 2.1 Hibernate-mapping: Đây là thành phần gốc bao tất cả các thành phầnkhác 2.2 Class: được sử dụng để ánh xạ tên bản thành persistence class. Tênthuộc tính được sử dụng để xác định tên lớp, và thuộc tính bản được sử dụngđể xác định bảng mà lớp thay thế. Ví dụ để ánh xạ một bản mang tên ORDERSthành một persistence class với tên đầy đủ là com.someorg.persist.Order sẽ nhưdưới đây:… 2.3 ID: Thành phần này sử dụng để ánh xạ khóa chíh của table thành mộtinstance variable của class. Thành phần cột con của id có thể sử dụng để ánh xạthành biến tương ứng. Giá trị của khóa chính có thể tự động tạo ra được côngbố ở đây. Thành phần generator có thể được sử dụng để ...