Ngoài các giá trị do cơ sở dữ liệu tạo ra, rõ ràng là không cần Hibernate để trả về phiên bản đã cập nhật vì đối tượng được chuyển đến Session.saveOrUpdate()
là phiên bản cập nhật. Các giá trị do cơ sở dữ liệu tạo (chuỗi, trình kích hoạt, giá trị mặc định, v.v.) sẽ được đặt sau Session.saveOrUpdate
nếu chúng được chú thích tương ứng (hoặc được định nghĩa trong tệp ánh xạ XML).
Đối với giá trị số nhận dạng
sử dụng JPA @javax.persistence.GeneratedValue
chú thích kết hợp với JPA @javax.persistence.Id
chú thích. Đối với thuộc tính đơn giản sử dụng Hibernate gốc @org.hibernate.annotations.Generated
chú thích (afaik không có chú thích theo JPA).
Cách Hibernate truy xuất các giá trị nhận dạng đã tạo phụ thuộc vào chiến lược tạo và / hoặc phương ngữ cơ sở dữ liệu. Đối với các thuộc tính đơn giản, Hibernate thực thi một SELECT
bổ sung bằng câu lệnh id sau INSERT
hoặc UPDATE
.