Tự học Hibernate Framework qua code ví dụ
Các ví dụ mở đầu cho Hibernate.
- Giới thiệu về hibernate framework
- Kết nối cơ sở dữ liệu bằng eclipse
- Cài đặt Hibernate Tool
- Tạo ra các class Entity từ các bảng tương ứng trong database.
- Truy vấn cơ sở dữ liệu bằng hibernate
Học Hibernate qua các ví dụ
- Code ví dụ Hibernate truy vấn database với SessionFactory, Session
- Code ví dụ Hibernate truy vấn database với EntityManagerFactory, EntityManager
- Code ví dụ Hibernate ID tự tăng (@GeneratedValue, @GenericGenerator).
- Code ví dụ Hibernate tự sinh ID dạng text, String
- Code ví dụ Hibernate Criteria
- Code ví dụ Hibernate @EmbeddedId, @Embeddable, Id gồm nhiều column.
- Code ví dụ Hibernate @OneToMany, @ManyToOne – Quan hệ 1-nhiều
- Code ví dụ Hibernate @OneToOne – Quan hệ một – một.
- Code ví dụ Hibernate @ElementCollection, lưu dữ liệu dạng List.
- Code ví dụ Hibernate @ManyToMany – Quan hệ nhiều nhiều.
- Code ví dụ Hibernate cascade, annotation @Cascade.
- Code ví dụ Hibernate orphanRemoval = true.
- Code ví dụ Hibernate @Enumerated, lưu dữ liệu dạng Enum.
- Code ví dụ Hibernate FetchType = EAGER (Eager loading)
- Code ví dụ Hibernate FetchType = LAZY (Lazy loading) – Sửa lỗi LazyInitializationException
- Code ví dụ Hibernate Named Query (annotation @NamedQuery, @NameQueries)
- Code ví dụ Hibernate annotation @Version
- Code ví dụ hibernate annotation @CreationTimestamp, @UpdateTimestamp
- Code ví dụ với JPA Callbacks method @PrePersist, @PreUpdate, @PostRemove
- Code ví dụ phân trang với hibernate (Hibernate Pagination)
Các câu hỏi thường gặp về hibernate.
- ORM là gì? Tổng quan về ORM Framework.
- Giải thích các annotation trong Hibernate
- Locking trong Hibernate, so sánh Optimistic lock với Pessimistic lock
- Sự khác nhau giữa load() và get() trong Hibernate
- Hibernate Batch Processing là gì? Batch Processing trong Hibernate
- Sự khác nhau giữa merge với saveOrUpdate trong Hibernate
- So sánh sự khác nhau giữa @ElementCollection và @OneTomany
- Phân biệt save, persist, update, merge, saveOrUpdate trong hibernate
- So sánh sự khác nhau Hibernate Session với JPA EntityManager
- Sự khác nhau giữa openSession() và getCurrentSession() trong Hibernate.
- Cascade trong JPA, Hibernate là gì? Các loại CascadeType
- Sự khác nhau giữa @OneToOne với @ManyToOne trong Hibernate.
- Sự khác nhau giữa Cascade REMOVE/DELETE với orphanRemoval = true.
- Hibernate FetchType là gì? So sánh sự khác nhau giữa FetchType Lazy và Eager.
References:
http://docs.jboss.org/hibernate/orm/…Hibernate_User_Guide.html