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
❮ ❯

Session trong Hibernate


Lớp persistent trong Hibernate
Ví dụ về Hibernate

Nội dung chính

  • Định nghĩa và sử dụng
  • Các phương thức của interface Session

Định nghĩa và sử dụng

Một Session trong Hibernate được sử dụng để có được một kết nối vật lý với một cơ sở dữ liệu. Đối tượng Session là nhẹ và được thiết kế để được khởi tạo mỗi khi cần tương tác với cơ sở dữ liệu. Các đối tượng persistent được lưu và truy xuất thông qua một đối tượng Session.

Các đối tượng session không nên được mở trong một thời gian dài bởi vì chúng không phải là thread an toàn và nên được tạo ra và đóng khi sau khi sử dụng. Chức năng chính của session là cung cấp các thao tác create, update, read và delete cho các thể hiện các lớp thực thể được ánh xạ. Các thể hiện có thể tồn tại ở một trong ba trạng thái sau đây tại một thời điểm nhất định:

  • transient: Một thể hiện mới của một lớp persistent không liên quan đến một Session, không có đại diện trong cơ sở dữ liệu và không có giá trị định danh được coi là transient (tạm thời) bởi Hibernate.
  • persistent: Bạn có thể tạo một thể hiển transient persistent bằng cách liên kết nó với một session. Một thể hiện persistent có một dại diện trong cơ sở dữ liệu, một giá trị định danh và được liên kết với một Session.
  • detached: Khi chúng ta đóng session trong Hibernate, thể hiện persistent sẽ trở thành một thể hiện detached.

Một thể hiện Session là serializable nếu các lớp persistent của nó là serializable. Một transaction thông thường nên sử dụng cấu trúc sau đây:

Session session = factory.openSession();
Transaction tx = null;
try {
   tx = session.beginTransaction();
   // do some work
   ...
   tx.commit();
}
catch (Exception e) {
   if (tx!=null) tx.rollback();
   e.printStackTrace(); 
}finally {
   session.close();
}

Nếu session ném một ngoại lệ, transaction phải được rollback và session phải là detached.



Các phương thức của interface Session

Có nhiều phương thức được cung cấp bởi giao tiếp Session nhưng bảng dưới đây chỉ liệt kê vài phương thức quan trọng.

No. Các phương thức của Session và mô tả
1 Transaction beginTransaction()

Bắt đầu một đơn vị công việc và trả về đối tượng Transaction liên quan.

2 void cancelQuery()

Hủy việc thực hiện truy vấn hiện tại.

3 void clear()

clear session.

4 Connection close()

Đóng session.

5 Criteria createCriteria(Class persistentClass)

Tạo một thể hiện Criteria, đối với lớp entity đã cho hoặc một superclass của một lớp entity.

6 Criteria createCriteria(String entityName)

Tạo một thể hiện Criteria, đối với entity name đã cho.

7 Serializable getIdentifier(Object object)

Trả lại giá trị số nhận dạng của thực thể cho trước khi kết hợp với session này.

8 Query createFilter(Object collection, String queryString)

Tạo một thể hiện Query mới cho collection và chuỗi lọc nhất định.

9 Query createQuery(String queryString)

Tạo một thể hiện Query mới cho chuỗi truy vấn HQL đã cho.

10 SQLQuery createSQLQuery(String queryString)

Tạo một thể hiện SqlQuery mới cho chuỗi truy vấn SQL đã cho.

11 void delete(Object object)

Xóa persistent instance từ datastore.

12 void delete(String entityName, Object object)

Xóa persistent instance từ datastore.

13 Session get(String entityName, Serializable id)

Trả về persistent instance của thực thể được đặt tên với một số nhận dạng nhất định, hoặc null nếu không có persistent instance.

14 SessionFactory getSessionFactory()

Get session factory cái mà tạo ra session này.

15 void refresh(Object object)

Đọc lại trạng thái của thể hiện đã cho từ cơ sở dữ liệu cơ bản.

16 Transaction getTransaction()

Get thể hiện của Transaction liên quan đến session này.

17 boolean isConnected()

Kiểm tra xem session này có đang kết nối không.

18 boolean isDirty()

Session này có chứa bất kỳ thay đổi nào phải được đồng bộ với cơ sở dữ liệu không?

19 boolean isOpen()

Kiểm tra xem session vẫn đang được open không.

20 Serializable save(Object object)

Lưu transient instance.

21 void saveOrUpdate(Object object)

Thực hiện save(Object) hoặc update(Object).

22 void update(Object object)

Update persistent instance với bộ nhận dạng của detached instance đã cho.

23 void update(String entityName, Object object)

Update persistent instance với bộ nhận dạng của detached instance đã cho.

Bài tiếp theo: Ví dụ về Hibernate

Lớp persistent trong Hibernate
Ví dụ về Hibernate

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?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 Hibernate

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