VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Hibernate Tuts

ORM là gì? Hibernate là gì? Hibernate - Kiến trúc Hibernate - Môi trường Hibernate - File cấu hình XML Hibernate - File Mapping Hibernate - Thuộc tính type Hibernate - Lớp persistent Hibernate - Sessions Hibernate - example Hibernate - O/R mapping Hibernate - Annotations Hibernate - Query Language Hibernate - Criteria Queries Hibernate - Native SQL Hibernate - Bộ nhớ cache Hibernate - Batch processing Hibernate - Interceptors

Hibernate với các ví dụ

Hibernate - many-to-one relationship với MySQL trên Eclipse Hibernate - one-to-one relationship với MySQL trên Eclipse Hibernate - one-to-many relationship với MySQL trên Eclipse Hibernate - many-to-many relationship với MySQL trên Eclipse

Hibernate Tool

Cài đặt Hibernate/Jboss Tools trong Eclipse IDE Tạo Hibernate Configuration (hibernate.cfg.xml) với Hibernate Tools Sử dụng Hibernate Tools tạo các file mapping và annotation

Hibernate 5 Examples

Ví dụ Hibernate 5 XML Mapping – MySQL Ví dụ Hibernate 5 XML Mapping – SQLServer 2017 Ví dụ Hibernate 5 Annotation Mapping – MySQL Ví dụ Hibernate 5 Annotation Mapping – SQLServer 2017

Hibernate 4 Examples

Ví dụ Hibernate 4 XML Mapping – MySQL Ví dụ Hibernate 4 XML Mapping – SQLServer 2017 Ví dụ Hibernate 4 Annotation Mapping – MySQL Ví dụ Hibernate 4 Annotation Mapping – SQLServer 2017

Hibernate 3 Examples

Ví dụ Hibernate 3 XML Mapping – MySQL Ví dụ Hibernate 3 XML Mapping – SQLServer 2017 Ví dụ Hibernate 3 Annotation Mapping – MySQL Ví dụ Hibernate 3 Annotation Mapping – SQLServer 2017

Phỏng vấn Hibernate

List câu hỏi phỏng vấn Hibernate
1 / 3
❮ ❯

Hibernate - ORM là gì?


Hibernate là gì?
Hibernate - Kiến trúc

Nội dung chính

  • JDBC là gì?
    • Pros và Cons của JDBC
  • ORM là gì?
  • Java ORM Framework
  • Tại sao ORM (Object Relational Mapping)?

JDBC là gì?

JDBC là viết tắt của Java Database Connectivity và cung cấp một bộ Java API để truy cập cơ sở dữ liệu quan hệ từ chương trình Java. Các API Java này cho phép các chương trình Java thực hiện câu lệnh SQL và tương tác với bất kỳ cơ sở dữ liệu tương thích SQL nào.

JDBC cung cấp một kiến trúc linh hoạt để viết một ứng dụng cơ sở dữ liệu độc lập có thể chạy trên các nền tảng khác nhau và tương tác với các DBMS khác nhau mà không sửa đổi gì.

Pros và Cons của JDBC

Pros của JDBC Cons của JDBC
  • Xử lý SQL rõ ràng và đơn giản
  • Hiệu năng tốt với dữ liệu lớn
  • Rất tốt cho các ứng dụng nhỏ
  • Cú pháp đơn giản dễ học
  • Phức tạp nếu nó được sử dụng trong các dự án lớn
  • Không đóng gói
  • Khó để cài đặt khái niệm MVC
  • Truy vấn là DBMS cụ thể

ORM là gì?

ORM là viết tắt của Object-Relational Mapping (ORM) là một kỹ thuật lập trình để chuyển đổi dữ liệu giữa các cơ sở dữ liệu quan hệ và các ngôn ngữ lập trình hướng đối tượng như Java, C# ... Một hệ thống ORM có những ưu điểm so vơi JDBC như sau:

No. Ưu điểm
1 Cho phép đối tượng truy cập mã nghiệp vụ thay vì bảng DB.
2 Ẩn các chi tiết của các truy vấn SQL từ logic OO.
3 Dựa trên JDBC 'under the hood'
4 Không cần phải đối phó với việc thực hiện cơ sở dữ liệu.
5 Các thực thể dựa trên các khái niệm nghiệp vụ thay vì cấu trúc cơ sở dữ liệu.
6 Quản lý Transaction và tạo ra key tự động.
7 Phát triển ứng dụng nhanh chóng.

Một giải pháp ORM bao gồm bốn thực thể sau:

No. Giải pháp
1 Một API để thực hiện các thao tác CRUD cơ bản trên các đối tượng của các lớp persistent.
2 Một ngôn ngữ hoặc API để chỉ định các truy vấn đề cập đến các lớp và thuộc tính của các lớp.
3 Một phương tiện có thể cấu hình để chỉ định siêu dữ liệu ánh xạ.
4 Một kỹ thuật tương tác với các đối tượng giao dịch để thực hiện dirty checking, lazy loading, join fetching và các chức năng tối ưu hóa khác.

Java ORM Framework

Có một số persistent framework và các tùy chọn ORM trong Java. Một persistent framework là một dịch vụ ORM lưu và truy xuất các đối tượng vào một cơ sở dữ liệu quan hệ.

  • Enterprise JavaBeans Entity Beans
  • Java Data Objects
  • Castor
  • TopLink
  • Spring DAO
  • Hibernate
  • And many more

Tại sao ORM (Object Relational Mapping)?

Khi chúng ta làm việc với một hệ thống hướng đối tượng, có một sự không khớp giữa mô hình đối tượng và cơ sở dữ liệu quan hệ. RDBMS thể hiện dữ liệu trong một định dạng dạng bảng, trong khi các ngôn ngữ hướng đối tượng, chẳng hạn như Java hoặc C #, đại diện cho nó như một đồ thị kết nối của các đối tượng. Xem xét lớp Java sau đây với các constructor phù hợp và phưng thức public liên quan:

public class Employee {
   private int id;
   private String first_name; 
   private String last_name;   
   private int salary;  

   public Employee() {}
   public Employee(String fname, String lname, int salary) {
      this.first_name = fname;
      this.last_name = lname;
      this.salary = salary;
   }
   public int getId() {
      return id;
   }
   public String getFirstName() {
      return first_name;
   }
   public String getLastName() {
      return last_name;
   }
   public int getSalary() {
      return salary;
   }
}

Xem xét các đối tượng trên cần phải được lưu trữ và truy xuất vào bảng RDBMS sau:

create table EMPLOYEE (
   id INT NOT NULL auto_increment,
   first_name VARCHAR(20) default NULL,
   last_name  VARCHAR(20) default NULL,
   salary     INT  default NULL,
   PRIMARY KEY (id)
);

Vấn đề đầu tiên, nếu chúng ta cần phải sửa đổi thiết kế của cơ sở dữ liệu của chúng ta sau khi đã phát triển vài trang hoặc ứng dụng? Thứ hai, Việc tải và lưu trữ các đối tượng trong một cơ sở dữ liệu quan hệ làm cho chúng ta gặp 5 vấn đề không khớp.

Mismatch Mô tả
Tính chi tiết Đôi khi bạn sẽ có một mô hình đối tượng có nhiều lớp hơn số lượng các bảng tương ứng trong cơ sở dữ liệu.
Tính kế thừa RDBMS không định nghĩa bất cứ điều gì tương tự để kế thừa đó là một mô hình tự nhiên trong các ngôn ngữ lập trình hướng đối tượng.
Identity Một RDBMS định nghĩa chính xác một khái niệm về 'sự giống nhau': khóa chính. Java, tuy nhiên, định nghĩa cả nhận dạng đối tượng (a == b) và đối tượng bằng nhau (a.equals (b)).
Mối quan hệ kết hợp Các ngôn ngữ hướng đối tượng biểu diễn cho các sự kết hợp sử dụng các đối tượng tham chiếu, trong khi RDBMS biểu diễn mối quan hệ kết hợp bằng một cột khoá ngoại.
Điều hướng Các cách bạn truy cập các đối tượng trong Java và trong một RDBMS về cơ bản là khác nhau.

ORM (Object Relational Mapping) là một giải pháp để giải quyết các vấn đề trên.


Hibernate là gì?
Hibernate - Kiến trúc

Recent Updates

Ví dụ Hibernate 3 XML Mapping - SQLServer 2017Ví dụ Hibernate 4 Annotation Mapping - MySQLVí dụ Hibernate 4 Annotation Mapping - SQLServer 2017Ví dụ Hibernate 4 XML Mapping - MySQLVí dụ Hibernate 4 XML Mapping - SQLServer 2017Ví dụ Hibernate 5 Annotation Mapping - MySQLVí dụ Hibernate 5 Annotation Mapping - SQLServer 2017Ví dụ Hibernate 5 XML Mapping - MySQLVí dụ Hibernate 5 XML Mapping - SQLServer 2017Ví dụ về HibernateSự khác nhau giữa MyBatis và HibernateList câu hỏi phỏng vấn HibernateSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml