Cách Hibernate diễn giải kiểu tạo AUTO đã thay đổi kể từ phiên bản Hibernate 5.0.
Khi sử dụng Hibernate v 4.0 và Loại tạo là AUTO
, đặc biệt đối với MySql, Hibernate sẽ chọn IDENTITY
chiến lược (và do đó sử dụng AUTO_INCREMENT
tính năng) để tạo ID cho bảng được đề cập.
Bắt đầu với phiên bản 5.0 khi Loại thế hệ được chọn là TỰ ĐỘNG, Hibernate sử dụng SequenceStyleGenerator
không phụ thuộc vào cơ sở dữ liệu. Trong trường hợp MySql Hibernate mô phỏng một chuỗi bằng cách sử dụng bảng và đó là lý do tại sao bạn nhìn thấy bảng hibernate_sequence. MySql không hỗ trợ loại trình tự chuẩn.
Tài liệu tham khảo
- http:// docs.jboss.org/hibernate/orm/5.0/userguide/html_single/Hibernate_User_Guide.html#identifiers-generators-auto
- https://www.thoughts-on-java.org/5-things-you-need-to-know-when-using-hibernate-with-mysql/