Cảm ơn lời bình luận tử tế của @JBNizet, tôi đã phát hiện ra vấn đề không phải ở các hành vi UUID kỳ lạ, mà là Hibernate không thoát khỏi số nhận dạng theo mặc định.
Thực ra có ba giải pháp dễ dàng cho câu hỏi:
-
Không sử dụng từ khóa dành riêng, thay đổi tên bảng thành tên khác.
-
Thoát tên bảng theo cách thủ công (như
@Table(name = "\"user\"")
trong HUser.java). -
Thêm dòng
hibernate.globally_quoted_identifiers=true
vào cấu hình của bạn. Tôi tự hỏi tại sao nó không phải làtrue
theo mặc định ... Xem điều này để biết thêm chi tiết.