Tôi có một thực thể được ánh xạ có thuộc tính enum. Bằng cách loking tại tệp nhật ký, bất cứ khi nào tôi chạy một câu lệnh chọn trên thực thể đó, kết quả là một bản cập nhật ngay lập tức sau. Ví dụ, nếu tập hợp kết quả chứa 100 hồ sơ, sau đó tôi có:Sử dụng Enum trong Hibernate nguyên nhân được chọn theo sau là một câu lệnh cập nhật
[INFO org... select...]
[INFO org... update... where id=?]
[INFO org... update... where id=?]
.... lặp đi lặp lại 100 lần
Nếu tôi đánh dấu các tài sản như cập nhật = false vấn đề biến mất. Enum được gán máng một lớp chuyển đổi enum, mà tôi đã sao chép từ một cuốn sách nổi tiếng. Vì vậy, tôi không biết nếu tôi chỉ cần sao chép và dán mã. Đây là cách khai báo trên tệp hbm.
<typedef class="mypackage.HbnEnumConverter" name="the_type">
<param name="enumClassname">mypackage.TheType</param>
</typedef>
Bạn có thể chỉ ra một hướng để điều tra vấn đề này không? Bên cạnh đó, hậu quả của việc cập nhật = false trên trường ngủ đông là gì?
cảm ơn
Theo như tôi hiểu, trong "sách nổi tiếng" phương pháp vệ sinh của loại người dùng bị bỏ qua, bạn có chắc là bạn đã triển khai đúng cách (đặc biệt là 'bằng (Object, Object)')? – axtavt