Vấn đề là như sau:cửa hàng JPA thực thể có được đối tượng id lĩnh vực thay vì đối tượng chính nó
Chúng tôi có tổ chức:
@Entity
public class Feedback {
@Id
@GeneratedValue(generator="token")
private String id;
@ManyToOne
private Product product;
private String message;
// other fields
}
Và chúng tôi có một thiết bị đầu cuối máy chủ, tiếp nhận thông tin phản hồi từ khách hàng. Phản hồi nhận được ở định dạng multipart/form-based, với các lĩnh vực:
ProductId - product identifier
Message - feedback message
Some other fields
Để thiết Feedback.product chúng ta cần phải nạp đối tượng sản phẩm từ JPA - điều này có thể tốn nhiều thời gian và nó tạo ra các truy vấn không cần thiết.
Có thể lưu trữ thực thể, nhưng chuyển id sản phẩm thay vì đối tượng sản phẩm không? Chúng tôi cần một số cách để sửa đổi truy vấn INSERT.
Chúng tôi sử dụng EclipseLink JPA với Spring và Vaadin.
Cảm ơn bạn. Làm cách nào để kiểm tra xem thực thể có tồn tại không? Hoặc để buộc getReference ném một ngoại lệ, nếu không có thực thể nào với id đó? –
Sử dụng tìm. Nhưng sau đó bạn sẽ có một truy vấn, mà bạn muốn tránh. –