Tôi có một lớp thực thể như sau:Làm thế nào tôi nên tham khảo các enums bên trong (được định nghĩa trong một thực thể) từ một truy vấn JPQL sử dụng Hibernate?
package stuff;
@Entity
class Thing {
@Id
@GeneratedValue
private Long id;
@Basic
@Enumerated
private State state;
public enum State {
AWESOME,
LAME
}
}
Làm thế nào tôi có thể chọn tất cả điều với nhà nước TUYỆT sử dụng JPQL và Hibernate?
select t from Thing t where t.state=stuff.Thing.State.AWESOME
... cung cấp cho các lỗi ...
org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path: 'stuff.Thing.State.AWESOME'
tốt hơn vẫn sử dụng một tham số, và vượt qua một giá trị enum trong khi giá trị tham số ... và truy vấn là tái sử dụng cho tham số khác đánh giá cao –
@NeilStockton: Một số truy vấn phức tạp hơn chỉ có thể có ý nghĩa trong bối cảnh một trạng thái cụ thể. Bạn nói đúng rằng trong các trường hợp đơn giản như ví dụ, việc sử dụng tham số có thể linh hoạt hơn. Câu hỏi được giới hạn ở cú pháp;) –