Popular
- Get link
- X
- Other Apps
Trong bài này chúng ta sẽ cùng tìm hiểu về Generator, nói đơn giản hơn là cách chúng ta sinh ra dữ liệu một cách tự động khi insert data vào database, mà cụ thể là phần ID của mỗi bảng ghi dữ liệu được insert vào. Chúng ta sẽ đi qua nhiều cách từ dễ đến phức tạp, và tùy vào nhu cầu sử dụng chúng ta sẽ lựa chọn phù hợp
Để sử dụng generator, chúng ta sẽ dùng @GeneratedValue annotation, và sẽ chọn phương thức sử dụng generator, có 4 phương thức đó là GenerationType.IDENTITY (auto increment), GenerationType.SEQUENCE, GenerationType.AUTO, Custom Generator
1. GenerationType.IDENTITY
Với cách này chỉ cần setup cho cột ID của table là auto increment, còn ở trường ID ở code Java ta sẽ dùng @GeneratedValue(stratetry = GenerationType.IDENTITY)
Dữ liệu tự động sinh ra sẽ ở dạng số và tăng mỗi lần 1 đơn vị mỗi lần insert data
2. GenerationType.SEQUENCE
Cách này cũng sẽ tăng giá trị ID ở mỗi lần insert data, nhưng nó sẽ tăng số đơn vị theo cấu hình mà chúng ta chỉnh.
Lưu ý để sử dụng sequence, chúng ta cần thêm dòng config sau đây vào file hibernate.config.xml
<property name="hibernate.hbm2ddl.auto">update</property>
3. GenerationType.AUTO
Với cách này dữ liệu sinh ra sẽ ở dạng UUID, rất phù hợp để đưa vào các link đổi mật khẩu,...
4. Custom Generator
Cách này thì ID sẽ được sinh ra theo cách của chúng ta. Ví dụ chúng ta muốn lưu ID chưa thông tin của môn học như AV-1, AV2 (Anh văn là tên môn học, số 1 là phần tiếp theo để tránh trùng lặp)
Chi tiết các bạn hãy xem video để được hướng dẫn chi tiết nhé:
- Get link
- X
- Other Apps
Comments
Post a Comment