Tôi mới bắt đầu với API truy vấn tiêu chí JPA 2 và thấy khó học. Nhìn quanh mạng một chút, nhưng chưa tìm thấy các ví dụ/hướng dẫn hay. Ai đó có thể đề xuất một hướng dẫn tốt và/hoặc giúp tôi với truy vấn đơn giản sau đây tôi đang cố gắng để mã?JPA 2 Câu hỏi Tiêu chí Truy vấn
Tôi có một lớp được gọi là giao dịch mà có một tham chiếu đến các tài khoản mà nó thuộc về:
public class Transaction {
private Account account;
...
}
public class Account {
private Long id;
...
}
tôi cần phải mã hóa một truy vấn mà được tất cả các giao dịch cho một tài khoản cho id tài khoản của mình. Đây là nỗ lực của tôi khi thực hiện việc này (điều này rõ ràng không hoạt động):
public List<Transaction> findTransactions(Long accountId) {
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Transaction> query = builder.createQuery(Transaction.class);
Root<Transaction> transaction = query.from(Transaction.class);
// Don't know if I can do "account.id" here
query.where(builder.equal(transaction.get("account.id"), accountId));
return entityManager.createQuery(query).getResultList();
}
Ai đó có thể chỉ cho tôi đúng hướng?
Cảm ơn. Naresh
Cảm ơn bạn becomputer06 ! Công việc này như một cái duyên vậy. Tôi đã có thể tạo metamodel khá dễ dàng bằng cách thêm một phụ thuộc vào hibernate-jpamodelgen vào pom của tôi. Tôi đã hy vọng rằng các plugin m2eclipse sẽ nhặt nó lên mà không có bất kỳ trục trặc, nhưng nó không phải là làm điều đó ngay bây giờ. Nếu tôi kích hoạt bộ xử lý chú thích trong nhật thực, tôi sẽ đi vào một chu trình biên dịch đệ quy! Dù sao, vấn đề cơ bản được giải quyết. Cảm ơn. – Naresh