Tôi đang sử dụng JPA dữ liệu mùa xuân trong dự án của mình. Tôi đang chơi với hàng triệu bản ghi. Tôi có một yêu cầu mà tôi phải lấy dữ liệu cho các bảng khác nhau và xây dựng một đối tượng và sau đó vẽ nó trên một giao diện người dùng. Bây giờ làm thế nào để đạt được điều này kho dữ liệu mùa xuân của tôi. Tôi đã đọc rằng nó có thể đạt được bằng cách đặt tên truy vấn gốc.JPA dữ liệu mùa xuân: Làm thế nào để truy vấn trả về đối tượng không phải đối tượng hoặc danh sách đối tượng?
Nếu truy vấn nguồn gốc tên không trả lại một thực thể hoặc một danh sách các thực thể , chúng ta có thể lập bản đồ các kết quả truy vấn đến một kiểu trả về chính xác bằng cách sử dụng chú thích @SqlResultSetMapping.
Nhưng khi tôi đang cố gắng sử dụng @SqlResultSetMapping
nó được tham gia một entityResult. Có nghĩa là những gì tôi hiểu là nó chỉ là chuyển đổi một số kết quả truy vấn để tập kết quả thực thể chỉ, nhưng tôi muốn có một tập kết quả của các đối tượng không thực thể.
@SqlResultSetMapping(
name="studentPercentile",
entities={
@EntityResult(
entityClass=CustomStudent.class,
fields={
@FieldResult(name="id", column="ID"),
@FieldResult(name="firstName", column="FIRST_NAME"),
@FieldResult(name="lastName", column="LAST_NAME")
}
)
}
)
@NamedNativeQuery(
name="findStudentPercentile",
query="SELECT * FROM STUDENT",
resultSetMapping="studentPercentile")
Trong ví dụ trên tôi chỉ cố gắng để có được một kết quả từ sinh viên Entity vào một POJO 'CustomStudent' mà không phải là một thực thể. (Ví dụ này tôi đang cố gắng thực hiện chỉ cho mục đích POC, usecase thực tế là phức tạp, với truy vấn phức tạp trả về kết quả khác nhau).
Làm thế nào để đạt được trên usecase? Có cách nào khác ngoài việc sử dụng truy vấn tên mà phương thức kho lưu trữ của tôi trả về các đối tượng Non-Entities không?
Tôi đã gặp vấn đề tương tự gần đây và vui mừng khi thấy ai đó đăng và nhận giải pháp cho nó! –