Đây là cách các lớp của bạn trông như thế nào để làm cho DBRef hoạt động với sự kế thừa.
Người dùng
@Document(collection = "User")
public class User {
@Id
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Liên hệ
Xin lưu ý rằng bạn không cần chú thích Tài liệu trên lớp này.
public class Contact extends User {
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
Tệp tài liệu
@Document(collection = "DocumentFile")
public class DocumentFile {
@Id
private String id;
public void setId(String id) {
this.id = id;
}
@DBRef
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
Bạn chỉ cần IDocumentFileRepository
và IUserRepository
cho hoạt động CRUD.
Phần còn lại của mã cùng với các trường hợp thử nghiệm đã được tải lên github.
https://github.com/saagar2000/Spring