Giả sử có một thực thể Hibernate được cấu hình với truy cập trường bằng các chú thích. Tôi muốn ánh xạ một trường Java class _name
sao cho tên logic của nó cho Hibernate là name
, ví dụ, khi được gọi từ các truy vấn HQL. Tôi cần điều này chủ yếu cho các bộ sưu tập.Hibernate có thể sử dụng tên logic cho thuộc tính thực thể khác với tên trường?
Dự đoán các đề xuất không đúng: chuyển đổi loại truy cập thành "thuộc tính" là không thể; nhiệm vụ không liên quan gì đến tên của cột vật lý.
Nếu điều này giúp, ý định lớn của tôi là kết hôn với Hibernate với Scala để các bộ sưu tập Java được sử dụng để lập bản đồ ở mức thấp trong khi các trình bao bọc bộ sưu tập Scala phù hợp được hiển thị bên ngoài. Thật không may, mặc dù JVM cho phép các trường và phương thức tự đặt tên, Scala không thể hỗ trợ nó vì vậy dường như không thể tạo trường kiểu Java với 'name' và trình truy cập Scala cho nó được gọi là' name() ' –
Bạn có thể thử một hibernate tùy chỉnh PropertyAccessor, nhưng điều đó dường như bị hỏng: https://hibernate.atlassian.net/browse/HCANN-48 :( – trask