Tôi muốn cho dù nó có thể xử lý một hiệp hội với một trừu tượng Entity (tức là: một giao diện ), trong một thực thể. ví dụ:
Tôi có một số class
được gọi là Foo
có thuộc tính bar
, thuộc loại Bar
, là interface
. Nhiều lớp học (Bar1
, Bar2
) nhận ra Bar
và là tất cả cũng có thể tồn tại.Xử lý một hiệp hội với một giao diện sử dụng ORM trong Java
class Foo{
Bar bar; // this will be either Bar1 or Bar2
}
interface Bar{
// some methods
}
class Bar1 implements Bar{
String s; // Bar1 and Bar2 have different represantations ,hence they must be persisted to different tables
}
class Bar2 implements Bar{
int i;
}
Bây giờ tôi có thể xử lý điều này bằng ORM bằng Java như thế nào? tức là: khi tôi truy xuất số Foo
, đó là bar
là phiên bản của một trong các thực hiện của Bar
.
Hibernate hỗ trợ ba chiến lược lập bản đồ thừa kế cơ bản: 1. bảng mỗi lớp phân cấp 2. bảng mỗi lớp con 3. bảng mỗi lớp bê tông – amitmah
tham khảo: https://docs.jboss.org /hibernate/orm/3.5/reference/en-US/html/inheritance.html Tôi nghĩ bạn có thể xử lý các giao diện theo cùng cách với các lớp Tóm tắt trong Hibernate. – amitmah